public void fillMe() { if (cbx.DataSource == null) { cbx.Items.Clear(); } items.Clear(); cbx.ValueMember = "valueMember"; cbx.DisplayMember = "displayMember"; //cbx.DataSource = data.dataSource.actualItemList; // тут проблема, если он не реализует Icollection if (allowNull) { items.Add(ComboBoxDataLine.getInstance(cbxNullText, "")); } foreach (IKeepable x in data.dataSource.actualItemList) { items.Add(ComboBoxDataLine.getInstance(x.displayId, x.displayName)); } cbx.DataSource = items; cbx.SelectedIndex = -1; }
public void setValue(object _value) { //тут приходит интовое вэлью, надо найти в комбобоксе это вэлью и сделать его текущим // или где-то надыбать объект, но это долго string value = fn.toStringNullConvertion(_value); string id = Convert.ToString(value); //надо взять тот объект по id и сделать его текущим, присвоив selectedItem ComboBoxDataLine line = null; foreach (ComboBoxDataLine _line in items) { if (_line.valueMember == value) { line = _line; break; } } if (line != null) { cbx.SelectedItem = line; } else { cbx.SelectedIndex = -1; } }
public static ComboBoxDataLine getInstance(string _valueMember, string _displayMember) { ComboBoxDataLine line = new ComboBoxDataLine(); line.valueMember = _valueMember; line.displayMember = _displayMember; return(line); }