我正在创建一个Windows窗体应用程序。在应用程序中创建了一个表格,供员工参加。
表单包含 Datagridview ,员工有两列(组合列),另一列是复选框列(员工是否存在)。我正在以编程方式创建列。
我有员工对象列表(包含员工姓名和ID)。
我想在datagridview combobox 列中存储员工的姓名和ID 这样我就可以使用员工ID(不是基于员工姓名)来保存出勤细节 所以如何在datagrdiview组合框列中存储员工姓名和ID(两者)。
我想在组合框列中显示员工姓名,而不是员工ID。
所以请提供解决方案。
答案 0 :(得分:0)
您可以实现此目的的一种方法是将对象添加到组合框项目(Combobox.Items.Add(EmployeeObject)),然后将控件(ComboBox)的DispayMember属性设置为name属性(或成员) 。下一个示例创建一个包含唯一ID的10个Johns的列表,并获取当前所选项的ID。
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
ComboboxItem item = new ComboboxItem("John", i);
comboBox1.Items.Add(item);
}
comboBox1.DisplayMember = "Name";
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboboxItem item = (ComboboxItem)comboBox1.SelectedItem;
MessageBox.Show(item.ID.ToString());
}
同时结帐http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.items.aspx
希望这有帮助。