2015-09-16 21 views
0

我在網上看了一下,雖然我遇到了一些類似的內容,但我似乎無法找到與我的內容直接相關的東西,試圖實現。C#處理數據集和列表框之間的數據

簡言之,我想實現如下:

1)從一個數據庫到數據集提取的數據;
2)填充使用DataSet中某一列信息的數據;
3)使用OnIndexChanged事件觸發表單上的組件,以顯示其他列中數據集的對應值,以顯示ListBox中顯示的內容。

我運行一個查詢返回的結果如下:

enter image description here

已經加載到C#中的數據集這一點,我想填充值的列表框在「地址」欄。

在填充後在ListBox中選擇一條記錄時,我希望表單上的標籤標題顯示與該ADDRESS記錄相關聯的相應ADDRESS_ID值。

我希望概述我想要達到的足夠的細節;到目前爲止我發現的內容非常適合填充列表框,但是在嘗試基於ListBox的選定索引來反向設計另一個值時,我在此之後卡住了。

+0

這是很多讀通過,但檢查出來:HTTP:/ /www.codeproject.com/Articles/24656/A-Detailed-Data-Binding-Tutorial – Cory

+0

而不是一個列表框,我建議使用DataGridView並綁定你的數據集到th在。管理起來要容易得多,而且您有多種選擇來處理您的變更事件。 –

回答

2
listbox1.DataSource=AddressTable; {Datatable} 
listbox1.DisplayMember="Address"; 
listbox1.ValueMember="Address_ID"; 

然後onchange事件onchange事件

label1.Text = ((DataRowView) listBox1.SelectedItem)["Address_ID"].ToString(); 
+0

非常感謝;像魅力一樣工作(一旦DataTable被填充) –

0

使用所有的地址值的列表(我假設有任何從未重複?)

的形式負載或任何建造列表並填充列表框。

List<string> addresses = new List<string>(); 

foreach(datarow r in MyDataset) 
    addresses.add(r["Address"].ToString()); 

listbox1.datasource = addresses; 

然後在列表框中

foreach(datarow r in MyDataset) 
{ 
    if(r["address"].ToString() == listbox1.selectedvalue) 
     label1.text = r["Address_ID"].ToString(); 
}