DataGridView在RowPostPaint事件中设置行号:
- private void dgGrid_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
- {
- var grid = sender as DataGridView;
- var rowIdx = (e.RowIndex + 1).ToString();
- var centerFormat = new StringFormat()
- {
- // right alignment might actually make more sense for numbers
- Alignment = StringAlignment.Center,
- LineAlignment = StringAlignment.Center
- };
- var headerBounds = new Rectangle(e.RowBounds.Left, e.RowBounds.Top, grid.RowHeadersWidth, e.RowBounds.Height);
- e.Graphics.DrawString(rowIdx, this.Font, SystemBrushes.ControlText, headerBounds, centerFormat);
- }
- 在datagridview中为了使每次查询到的数据不覆盖以前的数据,可以看看代码中有没有this. datagridview.clear这样的代码,将这行代码去掉就能保证数据不发生覆盖(纯属自己做小程序时的经验)