在以编程方式更改数据后对DataGridView进行排序

时间:2012-02-19 18:39:41

标签: datagridview

我有DataGridView元素,允许用户通过单击任何列标题对其进行排序。

我注意到,当我以编程方式向网格添加行时,无论选择何种排序顺序,它们总是会到达网格的末尾。

是否有可能使网格始终根据用户选择进行排序 - 即使在程序化数据发生变化之后也是如此。

我在非绑定模式下使用它。

2 个答案:

答案 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();
    }