今天在做系统时遇到一个问题,点击dataGridView某一行时,要在上面的textbox和ComboBox中有显示相应的数据。由于数据库中存的只是combobox中items的id值,因此在ComboBox的数据显示时,出现了苦难。后来经过多次尝试终于找到了一个比较理想的解决方案,现在分享给大家。
public class ComboBoxItem
{
private string _key = string.Empty;
private string _value = string.Empty;
public ComboBoxItem(string pKey, string pValue)
{
_key = pKey;
_value = pValue;
}
public override string ToString()
{
return this._value;
}
public string Key
{
get
{
return this._key;
}
set
{
this._key = value;
}
}
public string Value
{
get
{
return this._value;
}
set
{
this._value = value;
}
}
public static int getIndex(ComboBox aa, string a)
{
ArrayList al = new ArrayList();
for (int i = 0; i < aa.Items.Count;i++ )
{
al.Add(((ComboBoxItem)aa.Items[i]).Key);
}
return al.IndexOf(a);
int s = ConstDataCtl.getIndex(this.comboBox2, this.dataGridView1.SelectedRows[0].Cells[8].Value.ToString());
this.comboBox2.SelectedIndex = s;