DevExpress GridView行头显示行号且根据行号宽度动态自适应显示
第一步、首先找到对应的gridview当中CustomDrawRowIndicator事件,双击进去
this.gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(this.gridView1_CustomDrawRowIndicator);
第二步、在事件中添加如下代码
行号+1
private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{ //这里我设置ShowLineNumber是true
if (ShowLineNumber)
{
IndicatorObjectInfoArgs info = e.Info;
if (info == null || !info.IsRowIndicator || e.RowHandle < 0)
return;
info.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
info.DisplayText = (e.RowHandle + 1).ToString();
}
}
行号的宽度随着行数的增长也会跟着变化
private void gridView1_RowCountChanged(object sender, EventArgs e)
{
if (gridView1.RowCount == -1)
{
gridView1.IndicatorWidth= 13;
}
else
{
gridView1.IndicatorWidth= gridView1.RowCount.ToString().Length + 40;
}
}
第三步、运行起来,可以根据自己的项目实际需求调整值
gridView1.IndicatorWidth= gridView1.RowCount.ToString().Length + 实际值;