c#如何在DataGridView中填充DataGridViewComboBoxColumn

Posted

技术标签:

【中文标题】c#如何在DataGridView中填充DataGridViewComboBoxColumn【英文标题】:How to Fill DataGridViewComboBoxColumn in DataGridView in c# 【发布时间】:2013-04-06 07:04:03 【问题描述】:

我能够在 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();

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

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

以上是关于c#如何在DataGridView中填充DataGridViewComboBoxColumn的主要内容,如果未能解决你的问题,请参考以下文章

BackgroundWorker 填充 DataGridView

c#如何在DataGridView中填充DataGridViewComboBoxColumn

C# datagridviewdatagridGridControl增加行号

C#的dataGridView控件里面已经有数据了,怎么让它自动统计总行数?[自动统计:没有点击等任何事件时]

C# 怎么把从数据库查询出来的东西累加到dataGridView里面去

如何在c#中为datagridview列单元格设置默认值