来自于四明山的码农

 

winform中datagridview刷新后的排序记忆

datagridview先点标题排序,但是重新刷新之后,还是变成窗体加载后的样子

我这里用定时器刷新的。

1.先定义三个全局变量

/// <summary>
/// 需要排序的列和方向
/// </summary>
private ListSortDirection sortdirection = ListSortDirection.Ascending;

//排序的列
private DataGridViewColumn sortcolumn = null;

//排序列的index

private int sortColindex = -1;

//然后在sorted事件中

sortcolumn = dgvTerminalList.SortedColumn;
sortColindex = sortcolumn.Index;
sortdirection=
dgvTerminalList.SortOrder == SortOrder.Ascending ?
ListSortDirection.Ascending : ListSortDirection.Descending;

//在定时加载数据完之后,再排序一次

//这里要注意列要这样去找一变,否则index会变成0,这样的话就会报错

foreach(DataGridViewColumn col in dgvTerminalList.Columns)
{
if(col.Index==sortColindex)
{
sortcolumn = col;
break;
}
}

//刷新之后记忆排序
if (sortcolumn != null)
{
dgvTerminalList.Sort(sortcolumn, sortdirection);
}

 

posted on 2014-04-17 10:45  技术先锋  阅读(821)  评论(0编辑  收藏  举报

导航