c# - 获取和设置 DataGridView 的排序(列和升序/降序)

标签 c# sorting datagridview datagridviewcolumn

我有一个小问题。我需要保存排序(按哪个列和升序或降序)并在程序的下一次启动时加载它。 获取当前选定的列没问题我通过

    private int GetSortColumn()
    {
        DataGridViewColumn sortColumn = this.dataGridView.SortedColumn;
        if (sortColumn != null)
        {
            Properties.Settings.Default.sortingColumnSortMode = dataGridView.SortOrder;
            return sortColumn.Index;
        }
        else
            //error
            return -1;
    }

并将数据保存在我的设置中。 设置这个属性也没问题:

    private void SetSortColumn(int indexOfColumn)
    {
        if (indexOfColumn != null && indexOfColumn != -1)
        {
            this.dataGridView.Sort(this.dataGridView.Columns[indexOfColumn], ListSortDirection.Descending);
        }
    }

但我还需要保存并设置升序或降序属性。我该怎么做呢? 有没有办法通过 dataGridView.SortedColumn 获取 ListSortDirection?或者有没有更好的方案设置dataGridView是升序还是降序?

谢谢和问候! 丽人

最佳答案

我不知道这是否仍然相关,但这看起来是一种更简单的方法:)

if(gridView1.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == System.Windows.Forms.SortOrder.Descending)
{
     // you can ascending if you want
     gridView1.Sort(gridView1.Columns[e.ColumnIndex], ListSortDirection.Ascending);
}
else
{
      // you can descending if you want
     gridView1.Sort(gridView1.Columns[e.ColumnIndex], ListSortDirection.Descending);
}

关于c# - 获取和设置 DataGridView 的排序(列和升序/降序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10805294/

相关文章:

c# - 如何在 C# 中获取表的 innerHTML

algorithm - 从三个点/角度中识别弧的起点和终点

python - 子集 df 以针对时间戳进行调整

javascript - 按字母顺序对游戏对象进行排序

c# - 如何转到最后单击的数据 GridView 中的行

c# - 用于添加新行的 datagridview 按键事件

mysql - 如何计算、比较和添加 DataGridView 行中的值?

c# - Azure Application Insights HTTP 依赖项跟踪问题

c# - 以编程方式与证书颁发机构通信

c# - 试图理解 C# 中的异步/等待