2017-05-13 41 views
1

基本問題 - 是否可以使用數據源填充組合框,然後切斷數據源的鏈接,但將數據保存在組合框中?這將使您能夠在不影響第一個填充組合框的情況下重用您的ds.Tables [0]。填充組合框後取消綁定數據源

comboBox1.DataSource = ds.Tables[0]; 

+0

將組合框直接與數據集綁定並不是一個好主意。獲取某種集合或字典中的數據,然後綁定它。 – Yogi

+0

感謝@Yogi,因此從ds到collection到combobox? – Allstar

回答

1

否(該DS從與SqlDataAdapter的MS SQL服務器填充),這是不可能的,而不以某種方式複製源數據。 DataSource屬性是對數據集,數據表或任何不是其副本的對象的引用。將DataSource設置爲null將消除組合查看引用數據的任何可能性。

相反,你可以使用適當的方法可以在DataTable類

comboBox1.DataSource = ds.Tables[0].Copy(); 

輕鬆創建原始表的副本此創建與實際結構和內容表中的一個新的副本,但它是一個將存儲在第一對象中的信息複製到另一個存儲區中。此時,內存中有兩個不同的對象,您可以更改第一個對象而不影響第二個對象。

我還要說,這對大桌子來說不是很聰明。如果您的表格由於顯而易見的原因而包含大量記錄,請勿使用此方法。