【问题标题】:How to Fill DataGridViewComboBoxColumn in DataGridView in c#c#如何在DataGridView中填充DataGridViewComboBoxColumn
【发布时间】:2024-01-13 09:43:01
【问题描述】:

我能够在 Form_Load 事件 上在 DataGridViewComboBoxColumn 中填充数据,有任何最好的 Event 来填充 DataGridViewComboBoxColumn 中的数据。我发布了我的编码。因为即我在表单加载时填充 DataGridViewComboBoxColumn 的方式。 在 FormLoad 我写了这段代码。我正在从“dtcnsmbl”(我的 DataTable)中获取数据,而 cnsmNm 是我的 DataGridViewComboBoxColumn 名称。我将 DisplayMember 和 ValueMember 属性分配给那个。

dtCnsmbl = prchasecls.RtrvcnsmrData();
            cnsmNm.DataSource = dtCnsmbl;
            cnsmNm.DisplayMember = dtCnsmbl.Columns["cnsm_Name"].ToString();
            cnsmNm.ValueMember = dtCnsmbl.Columns["cnsm_Id"].ToString();

【问题讨论】:

    标签: c# data-binding datagridview datagridviewcomboboxcell


    【解决方案1】:

    您的问题有点令人困惑(我根本没有看到问题),但如果我猜对了,那么您对 ​​.DisplayMember.ValueMember 的分配是错误的

    您需要告诉列名.DisplayMember和列名.ValueMember,而不是指定列的值。

    列名必须来自您用作.DataSource的数据表

    dtCnsmbl = prchasecls.RtrvcnsmrData();
    cnsmNm.DataSource = dtCnsmbl;
    cnsmNm.DisplayMember = "cnsm_Name";
    cnsmNm.ValueMember = "cnsm_Id";
    

    【讨论】:

    • 我的答案在表单加载中运行良好,但目前不适用于我。所以在EditinControlEvent中如何填充Datagridview