我有DataGridView元素,允许用户通过单击任何列标题对其进行排序。
我注意到,当我以编程方式向网格添加行时,无论选择何种排序顺序,它们总是会到达网格的末尾。
是否有可能使网格始终根据用户选择进行排序 - 即使在程序化数据发生变化之后也是如此。
我在非绑定模式下使用它。
答案 0 :(得分:1)
需要这样的东西:
if(grid.SortOrder != SortOrder.None && grid.SortedColumn != null)
{
ListSortDirection dir = ListSortDirection.Ascending;
if(grid.SortOrder == SortOrder.Descending) dir = ListSortDirection.Descending;
grid.Sort(grid.SortedColumn, dir);
}
答案 1 :(得分:0)
在添加数据后保留一个按钮来刷新数据网格..在按钮点击事件上编写以下代码
例如,table adapter = student_DetailsTableAdapter, dataset和table = sAHSDataSet1.Student_Details
private void button1_Click(object sender, EventArgs e)
{
this.student_DetailsTableAdapter.Fill(this.sAHSDataSet1.Student_Details);
dataGridView1.Refresh();
}