在先前的「如何使用簡單繫結顯示多個資料來源屬性」一節中已提過,簡單繫結並不直接支援資料來源屬性串連。同樣地,ComboBox 控制項預設也只能繫結單一屬性,無法直接顯示多個欄位串聯後的結果。不過,我們可以透過 Format 事件間接達成這個需求。

圖 3-44 展示了 CH3_DemoForm028.cs 的執行畫面。此範例的 ComboBox 同時顯示來源資料表的多個欄位內容,並進行格式化。在繫結操作上,僅將 ValueMember 設為「員工號碼」,DataSource 設為「章立民工作室」資料表。
private void CH3_DemoForm028_Load(object sender, EventArgs e)
{
// 呼叫 LoadDataToDataSet() 連接資料來源並回傳 DataSet
DataSet myDataSet = LoadDataToDataSet();
if (myDataSet != null)
{
ComboBox1.ValueMember = "員工號碼";
// 設定下拉清單方塊的資料來源
ComboBox1.DataSource = myDataSet.Tables["章立民工作室"];
}
}
關鍵在於處理 Format 事件,在事件處理函式中將多個欄位值組合成所需的顯示字串,指派給 e.Value,即可讓 ComboBox 呈現豐富的多欄位資訊。