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);
}