2017-06-03 21 views
1

我是C#和SQL新手,我正在使用Windows窗體。如何根據C#中的ID對數據表項進行排序?

screenshot

如圖我現在的儲蓄項目截圖SQLtable,然後我看了他們在flowLayoutPanel創建buttons。下面的代碼工作正常,但問題是:當我讀取項目並將它們添加到flowLayoutPanel時,它們被添加爲DataTable(未排序)。

任何人都知道如何將buttons(物品)添加到flowLayoutPanel並根據他們的ID重新排列它們?我的意思是我想將它們添加到flowLayoutPanel,如下所示:Item1,Item2,Item3,Item4。

謝謝。

SqlConnection MyConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString); 
    SqlCommand MyCommand = new SqlCommand(); 
    DataTable DataTable = new DataTable(); 
    SqlDataAdapter Sql_Data_Adapter = new SqlDataAdapter(); 



       DataTable.Rows.Clear(); 
       DataTable.Columns.Clear(); 
       MyConnection.Open(); 
       MyCommand.CommandText = "SELECT * FROM Table_Items"; 
       MyCommand.Connection = MyConnection; 
       Sql_Data_Adapter.SelectCommand = MyCommand; 
       Sql_Data_Adapter.Fill(DataTable); 

       MyCommand.Parameters.Clear(); 
       Sql_Data_Adapter.Dispose(); 
       MyConnection.Close(); 


       int RowIndex = DataTable.Rows.Count - 1; 


       for (int i = 0; i <= RowIndex; i++) 
       { 

        // create buttons 

        Button btn = new Button();      

        btn.Text = DataTable.Rows[i]"Item_Name"].ToString(); 
        btn.Name = DataTable.Rows[i]["Item_Name"].ToString();    

        flowLayoutPanel1.Controls.Add(btn); 

       } 
+1

最簡單的方法可能是:'SELECT * FROM Table_Items ORDER BY ID;' – Crowcoder

+0

更改查詢'SELECT * FROM Table_Items ORDER BY Item_Name' –

+0

呀或者像@Crowcoder所說的那樣,在數據庫查詢中進行排序。 – r1verside

回答

2

改變你的SQL查詢來 -

SELECT * FROM Table_Items ORDER BY Id 
相關問題