lne*_*ger 6 c# datagridview winforms sortdirection
我在VS2008上使用C#WinForms应用程序.默认情况下,当单击DataGridView中的列标题时,它会对该列Ascending进行排序,然后您可以再次单击列标题将其排序为Descending.
我试图扭转这一点,所以初始点击排序降序然后第二次点击排序升序,我无法弄清楚如何做到这一点.有人知道吗?
谢谢
您可以将HeaderCell SortGlyphDirection设置为Ascending,然后下一次单击将为您提供降序.默认值为none.
dataGridView1.Sort(Column1, ListSortDirection.Ascending);
this.Column1.HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.Ascending;
Run Code Online (Sandbox Code Playgroud)
foreach (DataGridViewColumn column in DataGridView1.Columns)
{
column.SortMode = DataGridViewColumnSortMode.Programmatic;
}
Run Code Online (Sandbox Code Playgroud)
和
private void DataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
var column = DataGridView1.Columns[e.ColumnIndex];
if (column.SortMode != DataGridViewColumnSortMode.Programmatic)
return;
var sortGlyph = column.HeaderCell.SortGlyphDirection;
switch (sortGlyph)
{
case SortOrder.None:
case SortOrder.Ascending:
DataGridView1.Sort(column, ListSortDirection.Descending);
column.HeaderCell.SortGlyphDirection = SortOrder.Descending;
break;
case SortOrder.Descending:
DataGridView1.Sort(column, ListSortDirection.Ascending);
column.HeaderCell.SortGlyphDirection = SortOrder.Ascending;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我建议下面的代码
MyDGV.Sort(MyDGV.Columns[column_Index], ListSortDirection.Ascending);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15584 次 |
最近记录: |