如何为DataGridViewComboBox单元格中的每个元素设置标记
我的DataGridViewComboBox单元格包含以下项目:
string[] Fruits = {"Apple", "Orange","Mango"};
for (i=0;i<3;i++)
{
DataGridViewComboBoxCellObject.Items.Add(Fruits[i]);
//Set a seperate tag for this item
}
我想为Apple,Orange,Mango添加单独的标签
答案 0 :(得分:0)
害怕你无法通过DataGridViewComboBoxCell来实现。
但是,如果你想保留一些关于添加到ComboBox集合的项目的单独信息,那么你可以创建自己的DataGridViewComboBoxCell元素类,并将这个类的实例作为列表添加到DataGridViewComboBoxCell
public class Fruit
{
public String Name {get; set;}
public Object Tag {get; set;} //change Object to YourType if using only one type
public Fruit(String sInName, Object inTag)
{
this.Name=sInName;
this.Tag=inTag;
}
}
然后你可以将Fruit列表添加到DataGridViewComboBoxCell,但在你需要用你的信息创建Fruit之前
string[] Fruits = {"Apple", "Orange","Mango"};
for (i=0;i<3;i++)
{
Object infoData; //Here use your type and your data
//Create a element
Fruit temp = New Fruit(Fruits[i], infoData);
//Add to DataGridViewComboBoxCell
DataGridViewComboBoxCell.Items.Add(temp);
}
在此之后,您可以将您的标记信息用作:
if (this.DataGridView.Rows[0].Cells[DataGridViewComboBoxCell.Name].Value != null)
{
Fruit fruit = (fruit)this.DataGridView.Rows[0].Cells[DataGridViewComboBoxCell.Name].Value;
Object tagValue = fruit.Tag;
}