如何在datagridview组合框列中存储id和name

时间:2013-10-26 16:07:52

标签: c# datagridview combobox

我正在创建一个Windows窗体应用程序。在应用程序中创建了一个表格,供员工参加

表单包含 Datagridview 员工有两列(组合列),另一列是复选框列(员工是否存在)。我正在以编程方式创建列。

我有员工对象列表(包含员工姓名和ID)。

我想在datagridview combobox 列中存储员工的姓名和ID 这样我就可以使用员工ID(不是基于员工姓名)来保存出勤细节 所以如何在datagrdiview组合框列中存储员工姓名和ID(两者)。

我想在组合框列中显示员工姓名,而不是员工ID。

所以请提供解决方案。

1 个答案:

答案 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

希望这有帮助。