C#DataGridView如何为DataGridViewComboboxColumn设置值

发布于 2025-01-28 22:33:56 字数 2200 浏览 2 评论 0原文

我已经填充了我的DataGridView,其中一个Commobox列。

这样,我填充了DataGridView的ComboBox列。

if (dt != null && dt.Rows.Count > 0)
            {
                DataRow dr = dt.NewRow();
                dr[0] = "0";
                dr[1] = "--Select--";
                dt.Rows.InsertAt(dr, 0);

                (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DataSource = dt;
                (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DisplayMember = "BM_Element";
                (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).ValueMember = "Code";

            }

这样,我为每一行设置了Combobox列的值,但没有运气,

for (int i = 0; i < dgListLineitems.Rows.Count; i++)
            {
                //dgListLineitems.Rows[i].Cells["colBM"].Value = "0";
                dgListLineitems.Rows[i].Cells["colBM"].Value = "--Select--";
            }

我使用此dglistlineItems.Rows [i] .cells [“ colbm”]。value =“ 0”;,但在IN中没有选择任何项目组合柱。

我想在datagridview中显示每个组合,应该具有此默认文本 - 选择 -

我犯了错误的地方。请引导我。感谢

完整的代码示例,用于与Combobox列绑定的网格绑定

//Grid bind
dgListLineitems.AutoGenerateColumns = false;
dgListLineitems.DataSource = ListOfElements.Copy();

dgListLineitems.Columns["colRow"].DataPropertyName = "RowNumber";
dgListLineitems.Columns["colLineitem"].DataPropertyName = "LineItem";

dgListLineitems.Columns[0].Width = 60;
dgListLineitems.Columns[1].Width = 75;
dgListLineitems.Columns[2].Width = 498;
dgListLineitems.Columns[3].Width = 502;

//Bind combobox column
if (dt != null && dt.Rows.Count > 0)
{
    DataRow dr = dt.NewRow();
    dr[0] = "0";
    dr[1] = "--Select--";
    dt.Rows.InsertAt(dr, 0);

    (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DataSource = dt;
    (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DisplayMember = "BM_Element";
    (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).ValueMember = "Code";
}

//Set value for combobox column
for (int i = 0; i < dgListLineitems.Rows.Count; i++)
{
    dgListLineitems.Rows[i].Cells["colBM"].Value = "0";
}

I have populated my datagridview which has one combobox column.

this way i have populated my combobox column of datagridview.

if (dt != null && dt.Rows.Count > 0)
            {
                DataRow dr = dt.NewRow();
                dr[0] = "0";
                dr[1] = "--Select--";
                dt.Rows.InsertAt(dr, 0);

                (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DataSource = dt;
                (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DisplayMember = "BM_Element";
                (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).ValueMember = "Code";

            }

This way i set value for combobox column for each row but no luck

for (int i = 0; i < dgListLineitems.Rows.Count; i++)
            {
                //dgListLineitems.Rows[i].Cells["colBM"].Value = "0";
                dgListLineitems.Rows[i].Cells["colBM"].Value = "--Select--";
            }

i use this dgListLineitems.Rows[i].Cells["colBM"].Value = "0"; but no item is selected in combobox column.

i want to show each combobox in datagridview should have this default text --Select--

where i made the mistake. please guide me. Thanks

Full code sample for grid bind with combobox column

//Grid bind
dgListLineitems.AutoGenerateColumns = false;
dgListLineitems.DataSource = ListOfElements.Copy();

dgListLineitems.Columns["colRow"].DataPropertyName = "RowNumber";
dgListLineitems.Columns["colLineitem"].DataPropertyName = "LineItem";

dgListLineitems.Columns[0].Width = 60;
dgListLineitems.Columns[1].Width = 75;
dgListLineitems.Columns[2].Width = 498;
dgListLineitems.Columns[3].Width = 502;

//Bind combobox column
if (dt != null && dt.Rows.Count > 0)
{
    DataRow dr = dt.NewRow();
    dr[0] = "0";
    dr[1] = "--Select--";
    dt.Rows.InsertAt(dr, 0);

    (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DataSource = dt;
    (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).DisplayMember = "BM_Element";
    (dgListLineitems.Columns["colBM"] as DataGridViewComboBoxColumn).ValueMember = "Code";
}

//Set value for combobox column
for (int i = 0; i < dgListLineitems.Rows.Count; i++)
{
    dgListLineitems.Rows[i].Cells["colBM"].Value = "0";
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文