Здравствуйте, vladsoft, Вы писали:
V>Сейчас борюсь с аналогичной проблемой, но при реализации предложенного способа возникли ошибки, вот мой код:
V>
V>struct cmbData
V> {
V> public string name;
V> public string field;
V> public cmbData(string Aname, string Afield) {
V> name = Aname;
V> field = Afield;
V> }
V> }
V>// кусок кода из функции:
V>ArrayList arr = new ArrayList();
V> this.cbColumnSearch.Items.Clear();
V> if (this.gvFirm.ColumnCount > 0)
V> {
V> foreach (DataGridViewColumn CurrentColumn in this.gvFirm.Columns)
V> {
V> cmbData cmb = new cmbData(CurrentColumn.HeaderText,CurrentColumn.DataPropertyName);
V> arr.Add(cmb);
V> //this.cbColumnSearch.Items.Add(CurrentColumn.HeaderText);
V> }
V> cbColumnSearch.DataSource = arr;
V> cbColumnSearch.DisplayMember = "name";
V> cbColumnSearch.ValueMember = "field"; // здесь вот и вылетает проблема, то есть появляется ошибка:
V>//Cannot bind to the new display member.
V>//Parameter name: newDisplayMember
V>
V>В чем проблема?
V>
Попробуй так:
V>
V>class cmbData
V> {
V> public string name;
V> public string field;
V> public cmbData(string Aname, string Afield) {
V> name = Aname;
V> field = Afield;
V> }
public string Name
{
get { return name; }
}
public string Field
{
get { return field; }
}
V> }
V>// кусок кода из функции:
V>ArrayList arr = new ArrayList();
V> this.cbColumnSearch.Items.Clear();
V> if (this.gvFirm.ColumnCount > 0)
V> {
V> foreach (DataGridViewColumn CurrentColumn in this.gvFirm.Columns)
V> {
V> cmbData cmb = new cmbData(CurrentColumn.HeaderText,CurrentColumn.DataPropertyName);
V> arr.Add(cmb);
V> //this.cbColumnSearch.Items.Add(CurrentColumn.HeaderText);
V> }
V> cbColumnSearch.DataSource = arr;
cbColumnSearch.DisplayMember = "Name";
cbColumnSearch.ValueMember = "Field"; // здесь вот и вылетает проблема, то есть появляется ошибка:
V>//Cannot bind to the new display member.
V>//Parameter name: newDisplayMember
V>