我有一个绑定到自定义集合的datagrid视图。 我添加删除选项在UI中将添加和删除datagridview中的一行。有什么办法可以在datagridview中新增行吗?
有什么办法可以在datagridview中获取新增的行吗?
我有一个绑定到自定义集合的datagrid视图。 我添加删除选项在UI中将添加和删除datagridview中的一行。有什么办法可以在datagridview中新增行吗?
有什么办法可以在datagridview中获取新增的行吗?
DataGridView有一个RowAdded事件,每次添加Row(duh!)时都会触发它。事件参数的类型为:
public Form1()
{
InitializeComponent();
this.dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler(dataGridView1_RowsAdded);
}
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewRow newRow = this.dataGridView1.Rows[e.RowIndex];
}
请参阅https://stackoverflow.com/a/3846937/1271037 – dovid 2017-06-29 05:42:01
RowPrePaint事件能够最好地获得新添加的行:其上有一个RowIndex属性,使您能够做这样的事情DataGridViewRowsAddedEventArgs。我正在使用databound datagridview。
private void dataGridView1_RowPrePaint(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewRow newRow = this.dataGridView1.Rows[e.RowIndex];
}
RowsAdded事件对我无效。我假设,DataGridView不会一次添加一行或有其他问题。 RowsAdded中的e.RowIndex始终返回0或1.
P.S.刚刚意识到我很尴尬 - 迟到回答这个问题;-)希望我的帖子可以帮助别人。 – dushyantp 2012-04-12 09:26:07
RowPrePaint事件也适用于我。 RowsAdded事件的问题在于,当我们设置DataGridView的DataSource时,它会同时插入一个范围,并且不会为每一行调用RowsAdded事件。但是RowPrePaint会针对将要绘制的每一行进行调用。很好! – 2013-02-08 18:22:46
您是否想知道如何将编辑行添加到DGV中,或者您想知道如何获取对新添加的行的引用? – BFree 2009-09-10 13:19:49
我想知道如何获得对新添加的行的引用。假设我的UI带有数据网格中的一些现有行,并且用户现在添加了2个新行,我只想获得这两行的引用。我不想迭代数据网格视图中的所有行 – 2009-09-10 13:23:04