2012-01-11 70 views
0

我有一個datagridview,其中爲每個插入的新行提供默認值。有時,默認值是100%適合新行,記錄應該保存,沒有更多的變化。但如果用戶簡單地離開行記錄清除:(我怎樣才能自動保存新行(或自動設置編輯模式)讓用戶插入一個新的?
謝謝!追加DataGridView自動編輯模式

+0

你失去了我後「但如果用戶簡單離開行記錄清除:(我怎樣才能自動保存新行(或自動設置它的編輯模式)讓用戶插入一個新的?」 – PUG 2012-01-11 14:38:41

+0

用戶添加網格的新行剛剛進入網格底部的空白記錄。新行自動填充默認值,用戶希望按原樣保存,無需進行其他更改。他需要爲此做些什麼?如果用戶離開那一行,它就會消失。 – LINQ2Vodka 2012-01-11 14:45:01

回答

0

據我瞭解它有時候會用用戶添加一個新行時生成的默認單元格值來保存新記錄,您可以攔截datagridview丟失的焦點事件來檢查是否存在這樣一個新的「默認」行並將其存儲在數據庫,但是這種方法會總是在數據庫上創建一個新行,並且你曾經說過,有時默認值不夠好,控制這個的唯一方法就是詢問用戶對話框是否提示if他想保存新的「默認」行,這可能會很快變成煩惱。

+0

感謝您的回答。是的,你理解我很好 - 我很抱歉我的英文:)其他問題是**如何將任何網格行存儲到數據庫?我應該調用哪種方法來執行該操作?我可以捕獲像RowLeave這樣的事件,但我不知道該怎麼做。 – LINQ2Vodka 2012-01-11 14:53:56

+0

用這樣的代碼:foreach(DataGridViewCell cell in grd.Rows [XXX] .Cells){var cellContent = cell.Value; }您可以訪問行號XXX中所有單元格的值,假定「grd」是DataGridView控件的名稱。我不知道你如何訪問數據庫來存儲新記錄,但是你必須使用這些值來完成它,組成一個實體對象並存儲它,或者組成一個SQL插入查詢,或者其他任何東西。 – CMPerez 2012-01-11 15:04:47