2011-08-17 112 views

回答

2

UserAddedRow事件在添加行後被觸發。你不能使用它來添加一些東西,因爲它已經被添加了,因爲它會觸發after somethign。

根據MSDN:

當用戶已經完成添加行到DataGridView 控制時發生。

+0

謝謝你,我該如何添加一個新行然後呢? – user609511

+0

我會說像通過MSDN示例使用數據綁定通過數據綁定。看看這裏:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagrid.aspx。順便閱讀整篇文章,不僅僅是代碼示例。 – Tigran

+0

感謝您的回覆,但我如何檢索行的新值?事件中的 – user609511

1

如果您未使用數據綁定,則必須手動添加列和行。

dgvApplications.Columns.Add("Col1", "Column 1"); 
dgvApplications.Columns.Add("Col2", "Column 2"); 
dgvApplications.Rows.Add("Col1Value", "Col2Value"); 

但數據綁定通常是更好的選擇。

BindingList<Application> applications = new BindingList<Application>(); 
dgvApplications.DataSource = applications; 
// set AutoGenerateColumns to false and manually add columns to get pretty column names. 
// set AutoGenerateColumns to true to not worry about adding columns in early prototyping 
dgvModules.AutoGenerateColumns = true; 

這時如果Application工具INotifyPropertyChanged你可以做這樣的事情:

applications.Add(new Application{ File="blah.txt" }; 

屬性更改通知允許當底層模型更改網格自動更新。

數據綁定選項有助於將GUI與數據分離。 如果您需要重新設計GUI或添加輔助界面(如Web或電話應用程序),「模型 - 視圖 - 控制器」設計模式將在以後幫助您。 http://msdn.microsoft.com/en-us/library/ff649643.aspx