对于ReadOnly的Display,有更为简便的方法
1、关键代码:
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
}
2、显示设置:
具体问题就是,在行号超过2位,如100、1000,在选中该行时,DataGridView的行指示符▶会把行号往右挤,导致现实不全,100的时候显示▶10。
其实还是RowsHeaderWidth的大小有问题,将该列的宽度放大,行号显示的也没问题!
具体做法是将DataGridView的RowsHeaderWidthSizeMode属性设置为AutoSizeToAllHeaders或者AutoSizeToDisplayedHeaders,这样自动设置宽度就不会出现行指示符挤压行号的情况了。
3、效果展示:
第一张是预期效果

第二张是显示有问题的,行号显示不全

参考链接:https://blog.youkuaiyun.com/xieyufei/article/details/9769631
本文介绍了如何解决DataGridView行号显示不全的问题,通过调整RowsHeaderWidthSizeMode属性为AutoSizeToAllHeaders或AutoSizeToDisplayedHeaders,可以避免行指示符挤压行号,确保行号完整显示。此外,提供了一个关键代码示例,用于在RowStateChanged事件中动态设置行号。
1815





