我有一个带有一些可编程排序列的数据 GridView ,排序本身是通过鼠标单击完成的。我可以获得字形方向属性,但没有显示字形。
知道为什么吗?
private void gvRules_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
var column = gvRules.Columns[e.ColumnIndex];
var sortGlyphDirection = column.HeaderCell.SortGlyphDirection;
if (column.SortMode != DataGridViewColumnSortMode.Programmatic)
return;
switch (sortGlyphDirection)
{
case System.Windows.Forms.SortOrder.None:
case System.Windows.Forms.SortOrder.Ascending:
gvRules.Sort(column, ListSortDirection.Ascending);
break;
case System.Windows.Forms.SortOrder.Descending:
gvRules.Sort(column, ListSortDirection.Descending);
break;
default:
break;
}
}
最佳答案
找到了:
private void gvRules_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
// Put each of the columns into programmatic sort mode.
foreach (DataGridViewColumn column in ((DataGridView)sender).Columns)
{
column.SortMode = DataGridViewColumnSortMode.Programmatic;
}
}
需要重新设置 column.SortMode 程序
关于c# - 字形未显示在 datagridview 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8396331/