2013-11-21 59 views
0

我有一個VB.Net數據表到我想添加一個新的行單擊按鈕時如何模仿datanavigator控制功能?

我的代碼是:

public sub NewButtonClicked(Sender as Object, e as eventargs) handles ButtonNew.click 
    NewRow = MyDataTable.NewRow 
end sub 

public sub ConfirmButtonClicked(Sender as object, e as eventargs) handles Confirm.Click 
    for i=0 to MyTextBoxesList.count-1 
     NewRow(MyTextBoxesList(i).Name) = MyTextBoxesList(i).Text) 
    next 

    MyDataTable.Rows.Add(NewRow) 
end sub 

,當我做到這一點的問題在於,當我點擊ButtonNew,新行被創建在內存中,但它沒有反映在窗體中。這意味着DataNavigator不會移動一個步驟並清除綁定的文本框,以便鍵入新的值,而不像點擊DataNavigator本身中的新行。

附上一個視頻,用於比較「手動」操作和DataNavigator操作。

Video Comparison

有誰知道如何模仿DataNavigator新的按鈕操作?

謝謝。

回答

0

難度在於,您實際上並沒有將新行添加到數據表中,直到MyDataTable.Rows.Add(NewRow),因此沒有可移動到的位置。導航器添加新行並移動到最後位置。你可以讓導航員處理它,也許有一個vaidation檢查來驗證行是好的,否則刪除它?

+0

謝謝你的回答。當導航器將新行添加到表中時,即使某些列的屬性AllowDBNull = false在插入時爲空,該表如何接受添加的行? –

+0

當您首次單擊導航器的AddNew按鈕時,將創建一個新的數據行,但不會將其添加到數據表中,直到您導航到新行。 – Lauren