如何为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添加单独的标签
恐怕不能通过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;
}
}
然后你可以将水果列表添加到DataGridViewComboBoxCell中,但在此之前你需要用你的信息创建一个水果
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;
}