1
我通常做網絡的東西,所以請原諒對這個話題的任何無知。最優雅的方式來設置組合框的價值
我想從這樣的隱藏代碼做負載的組合框:
using (var con = new SqlConnection(ConStr)) {
try {
var dt = new DataTable();
var cmd = new SqlCommand("usp_SelectContactDropDown", con) {
CommandType = CommandType.StoredProcedure };
var adapter = new SqlDataAdapter {SelectCommand = cmd};
adapter.Fill(dt);
((ComboBox) Controls.Find(ddContact, true)[0]).DataSource = dt;
((ComboBox) Controls.Find(ddContact, true)[0]).DisplayMember = "DisplayText";
((ComboBox) Controls.Find(ddContact, true)[0]).ValueMember = "ID";
((ComboBox) Controls.Find(ddContact, true)[0]).SelectedIndex = -1;
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
finally { /* Handle the error*/ }
凡ID是一個int。在此之後,我想根據值成員設置組合框的選定值。但是,這似乎是棘手的,然後我認爲它應該是。在ASP中,這是非常簡單的
ddContact.SelectedValue = o.fk_ContactID.ToString();
我已經簽出一些其他的問題(Q1,Q2),這似乎是指由顯示成員設置的值。這是最優雅的方式呢?先謝謝你。
爲什麼使用控件。找?直接語法(如果在同一個類上)工作 – Steve
只是不要使用'ToString()'。與運行字符串的ASP.NET不同,WinForms使用類型敏感的比較。 –
@Steve,爲了公平起見,他說他對這個話題一無所知 - 所以你的評論是相當實在的:) –