对datagridview控件中的列进行排序,这些列直接显示在sql数据库表中

时间:2011-04-09 12:55:19

标签: c# .net sorting datagridview

我有一个带有文本框的winform,一个datagridview控件和一个提交按钮,它将数据从文本框发送到sql数据库表,并将数据显示在数据表中的datagridview中。

现在,我希望在按下提交按钮时,数据网格视图会根据指定的列进行刷新和排序,但是这些列直接显示在sql server表中,并且不会在datagridview控件的属性中单独指定在visual studio IDE中。

那我该怎么做? 当我这样做时:

DataGridViewColumn d = new DataGridViewColumn();
d.Name = "ItemID";
dataGridView1.Sort(d,ListSortDirection.Ascending);

然后它给出错误说明:指定的列不存在。这是预期的,因为ItemID列直接来自数据库,而没有显式添加到DataGridView控件中。

1 个答案:

答案 0 :(得分:2)

在使用数据填充DataGridView后,该列已存在于DataGridView中,因此请将其取出并用于排序:

DataGridViewColumn col = dataGridView1.Columns["ItemID"];
dataGridView1.Sort(col,ListSortDirection.Ascending)