2012-10-06 35 views
2

我的項目中有一個xml file。我正在通過下面的代碼讀取文件到組合框cbProduct。問題是cbProduct顯示重複的文本值。如何使他們與衆不同?刪除與數據集綁定的組合框中的重複項

我已經經歷了一些links但有辦法與數據集無關。
我實現下面的代碼:

DataSet ds = new DataSet(); 
ds.ReadXml(@"..\..\stock.xml"); 
cbProduct.DataSource = ds.Tables[0]; 
cbProduct.DisplayMember = "productname"; 

可選:如果你有時間,如果你解釋的過程,因爲我是新來的.NET或提供一個鏈接ATLEAST指(未MSDN)這將是可觀。

請幫忙。
在此先感謝。

回答

2

做這個

DataSet ds = new DataSet(); 
ds.ReadXml(@"..\..\stock.xml"); 
DataTable dt = ds.Tables[0].DefaultView.ToTable(true, "productname"); 
cbProduct.DataSource = dt; 
cbProduct.DisplayMember = "productname"; 

第三行代碼創建一個新表,這將有基於ProductName列不同的值。對於更多讀this

此代碼是​​

+0

感謝這項工作。但是如果我有更多的專欄。如何解決這個問題呢。我試過這個'DataTable distinctValues = view.ToTable(true,「Column1」,「Column2」...);'但它顯示的是第二列的dll文件。 (第一列是好的)。 –

+0

我通過爲不同的列創建不同的數據表對象來解決這個問題。我認爲這不是一種正確的方法。 –

+0

以及我需要一些建議。我正在使用[代碼像這樣](http://ideone.com/oaN6e)。無需創建數據表。這是一個好方法嗎? –

1

你可以帶上不同的values from database,或者你可以將distinct values from c# data table放到新的c#數據表中,並將其綁定到下拉列表中。 How to select distinct value

+0

三江源響應。我試過這個,我得到錯誤。 [這是我的代碼](http://ideone.com/FbFyC)。錯誤是 - 「對象引用未設置爲對象的實例。」 –