在vb.net的datagridview中添加行号

在vb.net的datagridview中添加行号,vb.net,winforms,sorting,datagrid,desktop-application,Vb.net,Winforms,Sorting,Datagrid,Desktop Application,我正在用Vb.Net开发Windows应用程序。现在有一个表单,我想打印网格中显示的记录。有一种工具可以通过单击网格中的单元格标题对网格进行排序,并应按网格中的显示进行打印 因此,我对如何维护网格中的行号有点困惑。我可以在网格填充和分配数据源时从数据库中获取行数。但当用户单击任何单元格标题并对该列进行排序时,行号就会更改。当时,我很难维持行数 谁能告诉我如何维护网格中的行数 提前谢谢。我想你需要这个: 注意:这段代码是C语言的,所以您可以将其转换为VB.Net 代表: this.dgvUserD

我正在用Vb.Net开发Windows应用程序。现在有一个表单,我想打印网格中显示的记录。有一种工具可以通过单击网格中的单元格标题对网格进行排序,并应按网格中的显示进行打印

因此,我对如何维护网格中的行号有点困惑。我可以在网格填充和分配数据源时从数据库中获取行数。但当用户单击任何单元格标题并对该列进行排序时,行号就会更改。当时,我很难维持行数

谁能告诉我如何维护网格中的行数

提前谢谢。

我想你需要这个:

注意:这段代码是C语言的,所以您可以将其转换为VB.Net

代表:

this.dgvUserDetails.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dgvUserDetails_RowPostPaint);
活动:

private void dgvUserDetails_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
        using (SolidBrush b = new SolidBrush(dgvUserDetails.RowHeadersDefaultCellStyle.ForeColor))
        {
              e.Graphics.DrawString((e.RowIndex + 1).ToString(), e.InheritedRowStyle.Font, b, e.RowBounds.Location.X + 10, e.RowBounds.Location.Y + 4);
        }
}
输出


您使用哪种数据库?您不想更改排序的顺序。@M.NourBerro我们使用的是SQL Server 2008。@VishalSuthar否当我从网格打印记录时,它在排序或不排序后应与在网格中显示的一样打印。!很不错的?如何将RowHeader Backcolor更改为您当前拥有的颜色?@kashif或您可以借助以下帮助执行:_dataGridView.ColumnHeadersDefaultCellStyle.Backcolor=Color.Blue_dataGridView.EnableHeaderVisualStyles=false;谢谢你向我介绍这么好的视觉风格。我从你提到的网站安装了它,并使用office2010皮肤更改了我的项目风格。现在我的应用程序看起来比以前的好很多倍。几天后,它开始向我申请执照。你能告诉我你从哪里下载的破解版本吗??我下载了v2.4.50000.1版,但没有从谷歌找到免费的密钥。它值250美元,相当于25000巴基斯坦卢比,我甚至想不起来。如果您能解决我的注册问题,我将非常高兴。您可以通过以下网站将代码从C#转换为VB.NET: