6

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

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

谁能告诉我如何在网格中维护行号?

提前致谢。

4

2 回答 2

8

我猜你需要这个:

注意:此代码在 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);
        }
}

输出

行号

于 2013-01-09T07:20:10.780 回答
-1

grid.Rows(e.RowIndex).HeaderCell.Value = CStr(e.RowIndex + 1)

复制代码以 在此处输入图像描述

于 2021-08-11T04:13:24.687 回答