HOW TO:為 Windows Form 的 ComboBox、ListBox 或 CheckedListBox 控制項建立查閱資料表
在 Windows Form 上以方便使用的格式來顯示資料,但以對程式更有意義的格式來存放資料,這樣的做法有時候相當實用。 例如,食品的訂單表單可能會在清單方塊中依名稱來顯示功能表項目。 但是,記錄訂單的資料表 (Data Table) 則會包含代表食品的唯一 ID 編號。 下表將顯示如何存放並顯示食品訂單表單資料的範例。
OrderDetailsTable
OrderID |
ItemID |
Quantity |
---|---|---|
4085 |
12 |
1 |
4086 |
13 |
3 |
ItemTable
ID |
Name |
---|---|
12 |
Potato |
13 |
Chicken |
在這個案例中,其中一個資料表 OrderDetailsTable 會儲存與顯示和儲存有關的實質資訊。 但為節省空間,它是以密碼方式來設計的。 另一個資料表 ItemTable 則只包含與外觀相關的資訊,也就是哪個 ID 編號等於哪個食物名稱,這與實質食品訂單毫無關係。
ItemTable 會透過三個屬性連接至 ComboBox、ListBox 或 CheckedListBox 控制項。 DataSource 屬性包含這個資料表的名稱。 DisplayMember 屬性包含要顯示在控制項 (食品名稱) 中的該資料表的資料行。 ValueMember 屬性包含該資料表中具有儲存資訊 (ID 編號) 的資料行。
OrderDetailsTable 是由它的繫結集合連接到控制項,其繫結集合是透過 DataBindings 屬性存取的。 當您將繫結物件加入集合時,便是將控制項屬性連接到資料來源 (OrderDetailsTable) 中的特定資料成員 (ID 編號的資料行)。 當在控制項中選取範圍時,這個資料表就是儲存表單輸入之處。
若要建立查閱資料表
將 ComboBox、ListBox 或 CheckedListBox 控制項加入至表單。
連接到您的資料來源。
在兩個資料表之間建立資料關聯。 如需詳細資訊,請參閱DataRelation 物件簡介 和 DataRelation 物件簡介 和 DataRelation 物件簡介 和 DataRelation 物件簡介 和 DataRelation 物件簡介.
設定下列屬性。 您可以在程式碼或設計工具中設定這些屬性。
屬性
設定
資料表,其中包含哪個 ID 編號對應於哪個項目的相關資訊。 在前一個案例中就是 ItemTable。
想要在控制項中顯示的資料來源資料表之資料行。 在前一個案例中就是 "Name" (在程式碼中設定時需要使用引號)。
包含儲存資訊的資料來源資料表之資料行。 在前一個案例中就是 "ID" (在程式碼中設定時需要使用引號)。
在程序中,呼叫 ControlBindingsCollection 類別的 Add 方法,藉此將控制項的 SelectedValue 屬性繫結至記錄表單輸入的資料表。 您也可以在 [屬性] 視窗中存取控制項的 DataBindings 屬性,即可在設計工具中執行這項工作,而不是在程式碼中。 在前一個案例中就是 OrderDetailsTable,且資料行是 "ItemID"。
ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
listBox1.get_DataBindings().Add("SelectedValue", OrderDetailsTable, "ItemID");
請參閱
參考
CheckedListBox 控制項概觀 (Windows Form)