zoukankan      html  css  js  c++  java
  • 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);
    }

  • 相关阅读:
    Swift基础学习
    APP的线程安全
    LintCode-O(1) Check Power of 2
    LintCode-Maximum Subarray Difference
    LintCode-Subarray Sum Closest
    LintCode-Rehashing
    Lintcode-Max Tree
    LintCode-Interleaving Positive and Negative Numbers.
    LintCode-Topological Sorting
    LintCode-Rotate String
  • 原文地址:https://www.cnblogs.com/Anders888/p/3670173.html
Copyright © 2011-2022 走看看