仅通过更改datagridview在c#net中的属性在datagridview中插入行号,
我想通过在c#net中更改其属性,在Datagridveiw头中自动生成行号,提前感谢仅通过更改datagridview在c#net中的属性在datagridview中插入行号,,c#,ado.net,C#,Ado.net,我想通过在c#net中更改其属性,在Datagridveiw头中自动生成行号,提前感谢 <asp:TemplateField> <ItemTemplate> <%# Container.DataItemIndex + 1 %> </ItemTemplate> </asp:TemplateField> 要使用c生成行号DataGridView,可以使用DataGridView的RowPostPaint事
<asp:TemplateField>
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
要使用c生成行号DataGridView,可以使用DataGridView的RowPostPaint事件
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
// get the row number in leading zero format,
// where the width of the number = the width of the maximum number
int RowNumWidth = dataGridView1.RowCount.ToString().Length;
StringBuilder RowNumber = new StringBuilder(RowNumWidth);
RowNumber.Append(e.RowIndex + 1);
while (RowNumber.Length < RowNumWidth)
RowNumber.Insert(0, "0");
// get the size of the row number string
SizeF Sz = e.Graphics.MeasureString(RowNumber.ToString(), this.Font);
// adjust the width of the column that contains the row header cells
if (dataGridView1.RowHeadersWidth < (int)(Sz.Width + 20))
dataGridView1.RowHeadersWidth = (int)(Sz.Width + 20);
// draw the row number
e.Graphics.DrawString(
RowNumber.ToString(),
this.Font,
SystemBrushes.ControlText,
e.RowBounds.Location.X + 15,
e.RowBounds.Location.Y + ((e.RowBounds.Height - Sz.Height) / 2));
}
private void dataGridView1_RowPostPaint(对象发送方,DataGridViewRowPostPaintEventArgs e)
{
//获取前导零格式的行号,
//其中数字的宽度=最大数字的宽度
int RowNumWidth=dataGridView1.RowCount.ToString().Length;
StringBuilder RowNumber=新的StringBuilder(RowNumWidth);
追加(e.RowIndex+1);
while(RowNumber.Length
右键单击DataGridView,查看属性。然后你会得到一个如下所示的窗口。浏览属性顶部的事件,您可以看到DataGridView可以处理的多个事件。选择行Postpaint并双击右侧将创建代码隐藏事件
您可以使用数据网格的CurrentRow属性 我想改变背景颜色,如下所示:
myDataGrid.CurrentRow.DefaultCellStyle.BackColor = Color.Yellow;
希望它对你有用kitty…谢谢你的回答,但我的代码是用c#而不是asp.net编写的,如果你知道的话,请回答,或者应该用另一个asp表单编写此代码,我可以这样做吗?我已经使用了dataGridView1单元内容单击此DataGridView,我不会使用dataGridView1在工具箱中延迟此数据网格视图,怎么办?当我按原样插入代码时,它没有显示行号。请创建DataGridView的属性,在事件会话中,您可以找到RowPostPaint事件。双击它会给出关于代码隐藏的事件,然后添加代码…你能详细说明一下这里所说的事件会话是什么意思吗,因为当我单击DataGridView时,它会在Form1.cs(源文件)private void dataGridView1_CellContentClick(对象发送者,DataGridViewCellEventArgs e)中给出关于代码隐藏的信息{}如果要在答案中添加新信息,应编辑第一个答案。不要发布新答案。阅读