问题
I believe this question is kinda new-bie, but I can't solve it in correct way.
Brief description:
- I have an inherited from ComboBox class that does some data bindings in constructor:
var mdl = new Model(); ValueMember = "id"; DisplayMember = "unit"; DataSource = mdl.getUnits();
All good here. The combobox is filled by required data.
- Then I have another form with a function editIngridient. The function is following;
public bool editIngridient(int id) { currentId = id; var row = mdl.getIngridient(id); txtIngridient.Text = (string)row["ingridient"]; cmbUnit.ID = (int)row["unitId"]; numNotifyQty.Value = (int) row["notifyQty"]; ShowDialog(); return true; }
Now, when the form popups, textbox and number box filled by needed values, while combobox is filled by first value.
If I will run the combobox data bind function as the first line inside editIngridient function - all works good.
Please point me to my stupidity.
Thanks a lot!
回答1:
YOu didnt say what is your dataSource, but I assume thats DataTable, so you can do it:
DataRowView rowData = comboBox1.SelectedItem as DataRowView;
int id = Convert.ToInt32(rowData["id"]);
string name = rowData["unit"].ToString();
来源:https://stackoverflow.com/questions/7335787/selecting-item-in-databound-combobox