我正在 Vb.Net 中开发 Windows 应用程序。现在有一种表格,我想在其中打印网格中显示的记录。通过单击网格中的单元格标题可以对网格进行排序,并且应该按照网格中的显示进行打印。
所以我对如何维护网格中的行号有点困惑。当网格填充和分配数据源时,我最初可以从数据库中获取行号。但是当用户单击任何单元格标题并对该列进行排序时,行号就会更改。那时我很难保持行数。
谁能告诉我如何在网格中维护行号?
提前致谢。
我正在 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);
}
}
输出
grid.Rows(e.RowIndex).HeaderCell.Value = CStr(e.RowIndex + 1)
复制代码以 在此处输入图像描述