я написал класс под названием элемент списка.я заполняю этот класс и добавляю в arraylist, а затем присваиваю arraylist свойству источника данных DataGridViewComboBoxColumn.
вот мой класс элементов списка
public class ListItem
{
private string _FieldName = "";
private string _FieldDesc = "";
private string _TableName = "";
public ListItem(string FieldName, string FieldDesc, string TableName)
{
this.FieldName = FieldName;
this.FieldDesc = FieldDesc;
this.TableName = TableName;
}
public string FieldName
{
get
{
return _FieldName;
}
set
{
_FieldName = value;
}
}
public string FieldDesc
{
get
{
return _FieldDesc;
}
set
{
_FieldDesc = value;
}
}
public string TableName
{
get
{
return _TableName;
}
set
{
_TableName = value;
}
}
//public override string ToString()
//{
// return this.name;
//}
}
i, хотя можно было бы привести dgList.Rows[i]. Ячейки [0] в мой собственный класс listitem.
здесь я получаю сообщение об ошибке при попытке прочитать значение ячейки в цикле for.здесь я пытаюсь разыграть и прочитать значение.вот мой кодя пытаюсь прочитать значение ячейки для цикла при нажатии кнопки.вот код
private void Form2_Load(object sender, EventArgs e)
{
ArrayList info = new ArrayList();
info.Add(new ListItem("JID", "Job ID", "BBAJobs"));
info.Add(new ListItem("AccountReference", "Customer ID", "BBAJobs"));
info.Add(new ListItem("WID", "WID", "BBAJobs"));
DataTable dg = new DataTable();
dg.Columns.Add("data", typeof(string));
DataRow drg = null;
drg = dg.NewRow();
drg[0] = "";
dg.Rows.Add(drg);
dgList.DataSource = dg;
DataGridViewComboBoxColumn dgcoSpec = new DataGridViewComboBoxColumn();
dgcoSpec.DataSource = info;
dgcoSpec.DisplayMember = "FieldDesc";
dgcoSpec.ValueMember = "FieldName";
dgcoSpec.AutoComplete = true;
dgcoSpec.HeaderText = "Fields";
dgcoSpec.Name = "Fields";
dgcoSpec.DefaultCellStyle.NullValue = "--Select--";
dgcoSpec.Width = 115;
dgList.Columns.Insert(0, dgcoSpec);
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= dgList.Rows.Count - 1; i++)
{
ListItem lst= (ListItem) dgList.Rows[i].Cells[0];
string x1 = lst.FieldName;
string x2 = lst.FieldDesc;
string x3 = lst.TableName;
}
}
скажите, пожалуйста, как это сделать с помощью фрагмента кода.
спасибо