winform中datagridview怎么添加行之后将焦点选中在新添加的行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform中datagridview怎么添加行之后将焦点选中在新添加的行?相关的知识,希望对你有一定的参考价值。
RT 新添加的一行是AAAAAAA那行,但是添加成功之后,焦点总是在DataGridView中的第一行,怎么设置为新添加的一行?删除更改同理??
参考技术A 可以设置当前选中单元格为新添加行的某个单元格dataGridView1.CurrentCell = dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Cells[1];
currentrow没法设置值 参考技术B dataGridView1.ClearSelection();
int index=dataGridView1.Rows.Count - 1;
dataGridView1.Rows[index].Selected=true;
dataGridView1.FirstDisplayedScrollingRowIndex = index;本回答被提问者采纳
Winform 中DataGridView控件添加行标题
有很多种方法。
1、可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value)
1 /// <summary> 2 /// 行状态更改时发生 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) 7 {
8 //e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); 9 e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();//添加行号 10 }
2、可以在DataGridView控件中的RowPostPaint事件例进行设置,TextRenderer类的DrawText()方法使用指定的设备上下文、字体、颜色和格式说明在指定界限中绘制指定文本。
1 /// <summary> 2 /// 所有单元格绘制后,执行 行绘制时发生 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) 7 { 8 // 9 System.Drawing.Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Y, this.dataGridView1.RowHeadersWidth - 4, this.dataGridView1.ColumnHeadersHeight); 10 TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), this.dataGridView1.RowHeadersDefaultCellStyle.Font, rectangle, this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right);//”TextFormatFlags.VerticalCenter | TextFormatFlags.Right“中“|”有增加的作用,此处添加了两种文本字符格式样式 11 }
以上是关于winform中datagridview怎么添加行之后将焦点选中在新添加的行?的主要内容,如果未能解决你的问题,请参考以下文章
C#中的winform 程序怎样在datagridview 动态添加按钮行
C#Winform中DataGridView往某一行新增数据
c# winform DataGridView添加一行,添加数据后,保存到数据库