1
我有此組合框從SQL獲取值:列表視圖值組合框
public void brandSelectCB(ComboBox cb)
{
string sSQL = " SELECT" +
" id, name" +
" FROM" +
" tbBrand" +
" ORDER BY" +
" name";
sqlConnect connect = new sqlConnect();
DataTable dt = new DataTable();
dt = connect.getBD(sSQL);
cb.DataSource = dt;
cb.DisplayMember = "name";
cb.ValueMember = "id";
}
我也有一個ListView這樣的:
public void modelSelect(ListView lvModel)
{
string sSQL = " SELECT" +
" tbModel.id, tbBrand.name AS brand, tbModel.name" +
" FROM" +
" tbBrand, tbModel" +
" WHERE" +
" tbBrand.id = tbModel.brand" +
" ORDER BY" +
" tbBrand.name, tbModel.name";
sqlConnect connect = new sqlConnect();
DataTable dt = new DataTable();
dt = connect.getBD(sSQL);
foreach (DataRow dr in dt.Rows)
{
ListViewItem item = new ListViewItem(dr["id"].ToString());
item.SubItems.Add(dr["brand"].ToString());
item.SubItems.Add(dr["name"].ToString());
lvModel.Items.Add(item);
}
}
當我選擇從列表視圖一行,然後單擊編輯按鈕,它應該從該選定行的值到相應的組合框和文本框:
private void btnEdit_Click(object sender, EventArgs e)
{
this.txtID.Text = lvModels.SelectedItems[0].SubItems[0].Text;
this.cbBrand.SelectedText = lvModels.SelectedItems[0].SubItems[1].Text;
this.txtName.Text = lvModels.SelectedItems[0].SubItems[2].Text;
}
但我得到組合框中沒有值,僅在文本框中。我意識到,這是因爲組合是在下拉列表樣式,我應該使用SelectedValue
或SelectedItem
,但他們都沒有工作。
任何想法?
我知道它這樣工作,你給了我一個主意......你的回答對我來說太複雜了:)謝謝 int xcb; xcb = this.cbBrand.FindString(lvMain.SelectedItems [0] .SubItems [1] .Text); this.cbBrand.SelectedIndex = xcb; – n3bi0s 2013-03-27 12:03:00