【发布时间】:2017-11-04 19:29:30
【问题描述】:
我是 C# 和 SQL 的新手,我正在使用 Windows 窗体。
如屏幕截图所示,我将项目保存到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);
}
【问题讨论】:
-
最简单的方法大概是:
SELECT * FROM Table_Items ORDER BY ID; -
将查询更改为
SELECT * FROM Table_Items ORDER BY Item_Name -
是的,或者正如@Crowcoder 所说,在数据库查询中排序。
-
@Crowcoder。像魔术一样工作:)。谢谢
-
@Chetan Ranpariya 。也谢谢你。