C# 如何在datagridview combox列中存储id和名称
我正在创建windows窗体应用程序。在该应用程序中,我为员工考勤创建了一个窗体 表单包含Datagridview,有两列,一列用于员工(即组合框列),另一列用于复选框列(无论员工是否在场)。我以编程方式创建的列 我有一个员工对象列表(包含员工姓名和ID) 我想在datagridview组合框列中存储员工的姓名和id 以便我可以使用员工id(不基于员工姓名)保存考勤详细信息 那么如何在datagrdiview组合框列中存储员工姓名和id(两者) 我想在组合框列中显示员工姓名,而不是员工idC# 如何在datagridview combox列中存储id和名称,c#,datagridview,combobox,C#,Datagridview,Combobox,我正在创建windows窗体应用程序。在该应用程序中,我为员工考勤创建了一个窗体 表单包含Datagridview,有两列,一列用于员工(即组合框列),另一列用于复选框列(无论员工是否在场)。我以编程方式创建的列 我有一个员工对象列表(包含员工姓名和ID) 我想在datagridview组合框列中存储员工的姓名和id 以便我可以使用员工id(不基于员工姓名)保存考勤详细信息 那么如何在datagrdiview组合框列中存储员工姓名和id(两者) 我想在组合框列中显示员工姓名,而不是员工id 所以
所以请提供解决方案 实现这一点的一种方法是将对象添加到combobox项(combobox.items.Add(EmployeeObject)),然后将控件(combobox)的DispayMember属性设置为name属性(或成员)。下一个示例创建一个包含10个具有唯一ID的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());
}
public Form1()
{
初始化组件();
}
私有void Form1\u加载(对象发送方、事件参数e)
{
对于(int i=0;i<10;i++)
{
ComboboxItem=新的ComboxItem(“John”,i);
comboBox1.Items.Add(item);
}
comboBox1.DisplayMember=“Name”;
}
私有无效组合框1\u SelectedIndexChanged(对象发送方,事件参数e)
{
ComboboxItem=(ComboboxItem)comboBox1.SelectedItem;
Show(item.ID.ToString());
}
也结帐
希望这有帮助。每一行(我的意思是每一个comboboxcell)将容纳多少Employee对象?根据您的设计,似乎每一行都应该是textboxcolumn和checkboxcolumn,正如您所说,您需要检查每个员工的出席或缺席情况(除非在组合框中选择了每个值)。非常感谢您的帮助,lauCosma先生