如果想让行头只作序号标记,就得去掉占位置的三角符号。
实际情况,和网上介绍的不一样,网上查到的资料不对了。
首先要保证显示出来行头:
this.dataGridView1.RowHeadersVisible = true;
其次,最容易忘记的,设置这个自动模式:
this.dataGridView1.AutoSizeRowsMode=DataGridViewAutoSizeRowMode.None;
什么没有DataGridViewAutoSizeRowMode.None这个属性?
当然没有,开个玩笑了。只要去掉任何this.dataGridView1.AutoSizeRowsMode相关属性的设置就行了。
正经的来了。
this.dataGridView1.RowHeadersDefaultCellStyle.Padding = new Padding(1);
这个new出的padding值一定得是1,不能是0,更不能是网上乱说的XXX.width.
最后,就是简单的加上个事件了:
this.dataGridView1.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dataGridView1_RowStateChanged);
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
e.Row.HeaderCell.Value = (object) string.Format("{0}", (object) (e.Row.Index + 1));
}