C# 如何在C中根据ID对数据表项进行排序?

C# 如何在C中根据ID对数据表项进行排序?,c#,sql,C#,Sql,我不熟悉C和SQL,我使用的是windows窗体 如屏幕截图所示,我正在将项目保存到SQL表中,然后读取它们以在flowLayoutPanel中创建按钮。下面的代码工作正常,但问题是:当我读取这些项并将它们添加到flowLayoutPanel时,它们被添加到DataTable unsorted中 有人知道如何将按钮项添加到flowLayoutPanel并根据其ID重新排序吗?我的意思是我想将它们添加到flowLayoutPanel中,作为:Item1、Item2、Item3、Item4 多谢各位

我不熟悉C和SQL,我使用的是windows窗体

如屏幕截图所示,我正在将项目保存到SQL表中,然后读取它们以在flowLayoutPanel中创建按钮。下面的代码工作正常,但问题是:当我读取这些项并将它们添加到flowLayoutPanel时,它们被添加到DataTable unsorted中

有人知道如何将按钮项添加到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);

                }

将SQL查询更改为-

SELECT * FROM Table_Items ORDER BY Id

最简单的方法可能是:从表中选择*按ID排序;将查询更改为按项目名称从表项目顺序中选择*。@Crowcoder说,或者在DB查询中排序。@Crowcoder。像魔术一样工作:。感谢you@Chetan兰帕里亚。也谢谢你。