使用Windows应用程序C#.net windows应用程序在datagridview中的静态行

时间:2015-12-23 03:55:00

标签: c# datagridview

使用Windows应用程序开发软件。在那里我使用datagridview显示记录,因为我需要第一行作为静态(即,当升序和降序时,第一行将是相同的地方)并且升序和降序将在第二行中完成。我怎么能这样做,任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

这不是一项小任务,但它确实可行。一般来说,您需要从DataGridView类派生一个类。在这个新类中,您需要处理大量事件以便:

  • 删除第一个数据源项。
  • 手动触发数据排序。
  • 将第一个项目插回源。
  • 请记住下次的列和排序方向。

我有一个广泛的例子,类似地,一个(静态)行已经作为sum row添加到DataGridView的底部。同样的想法可以应用于此处 - 处理Sort方法:

public override void Sort(DataGridViewColumn dataGridViewColumn, System.ComponentModel.ListSortDirection direction)
{
    this.RemoveFirstItemFromDataSource();

    string col = dataGridViewColumn.Name;

    if (!this.Direction.Contains(col))
    {
        this.ClearPreviousSort();
    }

    string sort = this.Direction.Contains("ASC") ? "DESC" : "ASC";
    this.Direction = string.Format("{0} {1}", col, sort);

    this.ManuallySortSource(this.Direction);
    this.AddFirstItemToDataSource();
}