我試圖在創建後立即將一行設置爲編輯模式。然而,我的GridViewRow有一個不正確DataItemIndex和一個空的DataItem ...爲什麼我的GridViewRow.DataItemIndex不正確並且DataItem爲空?
這裏是我的代碼是做一個總體思路:(僞VB代碼)
Protected Sub gvItems_RowCommand(....)
if (e.CommandName = 'New')
Begin
// create new empty and add it to my data table
m_dtItems.Rows.Add(m_dtItems.NewRow()) // m_dtItems is a DataTable
// rebind the gridview to the modified data table
gvItems.DataSource = m_dtItems
gvItems.DataBind()
// loop through grid view to find the row we just inserted
Dim newRowDataItemIndex As Integer = m_dtItems.Rows.IndexOf(dRow)
For each row in gvItems.Rows
if (row.DataItemIndex = newRowDataItemIndex)
gvItems.EditIndex = row.RowIndex
// rebind the grid so the edit index takes effect
gvItems.DataSource = m_dtItems
gvItems.DataBind()
End
End Sub
的問題是,GridViewRow.DataItemIndex是不是正確。它似乎等於RowIndex。另外,我的GridViewRow.DataItem爲null ,但GridViewRow_RowDataBound事件中的除外。
我沒有使用分頁或排序,或者我知道會導致問題。
我在做什麼錯?