当datagridviews数据源是数据表时,如何设置comboboxcolumn [英] How do I set comboboxcolumn when datagridviews datasource is a datatable

查看:76
本文介绍了当datagridviews数据源是数据表时,如何设置comboboxcolumn的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想将datagridview绑定到datatable。其中三列应该显示一个组合框。



我没有找到如何将textboxcolum的列类型更改为comboboxcolumn

google hasn'帮助了我。搜索datagridview和comboboxcolumn会带来很多答案,但没有一个能解决我的问题。



我尝试过:



在给定数据表上我做:


I want to bind a datagridview to datatable. three of the columns should display a combobox.

I havn't found how to change column type form textboxcolum to comboboxcolumn
google hasn't helped me. searching datagridview and comboboxcolumn brings a lot of answers but none covers my problem.

What I have tried:

on a given datatable I do :

dgv.datasource = datatable



这将使所有列到textboxcolumn

所以如何在此处继续表单?

任何想法?

提前感谢


that will make all columns to textboxcolumn
so how do I proceed form here on ?
any ideas ?
thanks in advance

推荐答案

请阅读:如何:将对象绑定到Windows窗体DataGridView控件Microsoft Docs [ ^ ]



结论:你不能使用 DataGridViewComboBoxColumn DataTable 作为 DataSource DataGridView 。看看下面的代码:



Please, read this: How to: Bind Objects to Windows Forms DataGridView Controls | Microsoft Docs[^]

Conclusion: you can't use DataGridViewComboBoxColumn with DataTable as a DataSource of DataGridView. Take a look at below piece of code:

public Form1()
{
    InitializeComponent();

    //disable column autogeneration
    dataGridView1.AutoGenerateColumns = false;
    dataGridView1.AutoSize = true;
    //bind sample data
    dataGridView1.DataSource = CustomBindingSource();

    //create columns manually
    //TextBoxColumn
    DataGridViewTextBoxColumn txt = new DataGridViewTextBoxColumn();
    txt.DataPropertyName = "EmpId";
    txt.Name = "EmpId";
    dataGridView1.Columns.Add (txt);

    //ComboBoxColumn
    DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
    combo.DataSource = Enum.GetValues(typeof(Sex));
    combo.DataPropertyName = "Sex";
    combo.Name = "Sex";
    dataGridView1.Columns.Add(combo);

    //that's all!
}





其他有趣的资源:

如何:通过扩展它们来自定义Windows窗体DataGridView控件中的单元格和列行为和外表| Microsoft Docs [ ^ ]

如何:Windows窗体中的主机控件DataGridView单元| Microsoft Docs [ ^ ]


这篇关于当datagridviews数据源是数据表时,如何设置comboboxcolumn的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆