2016-01-15 20 views
0

我想使用綁定源填充DataGridView。問題是我不知道如何將BinarySource DataSource的DataGridViewRow(或任何類型的結構,除了我現在要避免的DataTable)傳遞給BindingSource DataSource,因爲通過這樣做,我可以看到所有的類屬性僅限Cell的內容。此代碼似乎不起作用:如何使用帶有DataGridViewRow列表的BindingSource DataSource?

bindingSource.DataSource = dgvRowsList; 
bindingSource.DataMember = "Cells"; 
datagrid.DataSource = bindingSource; 

在此先感謝!

回答

0

DataGridViewRows是作爲數據綁定的結果自動生成的b/w datagridview和數據源對象,通常是一些.net數據結構如List,DataTable等。您可能不需要使用數據綁定,而是直接操作datagridview,這樣您將手動創建新行。請參閱How to add a new row to datagridview programmatically

如果由於某種原因想要控制數據綁定如何解釋數據源對象中的數據,則需要定義返回PropertyDescriptor集合的自定義TypeDescriptor,通過這樣做,可以指定將作爲底層屬性公開的內容數據對象(但這種解決方案對於複雜的情況而言)。

+0

最初我使用AddRows方法傳遞DataGridViewRow的列表。它工作完美無瑕。但是現在我需要使用DataBinding,所以我迷路了。 TypeDescriptor看起來太複雜了,正如你已經提到的那樣。我會等待一個更簡單的解決方案。不管怎麼說,還是要謝謝你。 :) – Fulalas

相關問題