2012-02-19 54 views
0

我有DataGridView元素,允许用户通过单击任何列标题对其进行排序。以编程方式更改数据后使DataGridView度假区

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

是否有可能让网格自始而终按照用户选择进行排序 - 即使在编程数据发生变化之后。

我以非绑定模式使用它。

回答

0

保持一个按钮刷新DataGrid中添加数据后..按钮单击事件中写入以下代码

如表适配器= student_DetailsTableAdapter, 数据集和表= sAHSDataSet1.Student_Details

private void button1_Click(object sender, EventArgs e) 
    { 
     this.student_DetailsTableAdapter.Fill(this.sAHSDataSet1.Student_Details); 
     dataGridView1.Refresh(); 
    } 
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); 
}