我有一個綁定到自定義集合的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