Datagridview的datasource设为某datatable,然后如何将某列缺省TextBox改变成DataGridViewComboBoxColumn

空dgv加DataGridViewComboBoxColumn列我会,可是有数据源的dgv改变某列的控件类型不会。... 空dgv加DataGridViewComboBoxColumn列我会,可是有数据源的dgv改变某列的控件类型不会。 展开
 我来答
胖鱼鱼4Q
推荐于2016-04-10 · TA获得超过222个赞
知道答主
回答量:104
采纳率:0%
帮助的人:79.9万
展开全部

我终于给你弄出来了。以显示人员性别为例,例子做法如下:

第一步:在Form里面建立两个DataGridView,分别命名为:dgvOrgin(原始的显示),dgvCombox(作为显示ComboBoxColumn的例子)

第二步:在Form的Load事件里面添加下面的代码:

List<string> LtSex = new List<string>() { string.Empty, "男", "女" };

            DataGridViewComboBoxColumn ClmSex = new DataGridViewComboBoxColumn();

            dgvCombox.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {ClmSex});

            ClmSex.DataSource = LtSex;

            ClmSex.DataPropertyName = "Sex";

            ClmSex.HeaderText = "性别";          

            DataTable dtSex = new DataTable();

            dtSex.TableName = "tb_Person";

            DataColumn Dc1 = new DataColumn("性别", typeof(string));

            Dc1.ColumnName = "Sex";

            Dc1.Caption = "性别";

            dtSex.Columns.Add(Dc1);

            dtSex.Rows.Add("男");

            dtSex.Rows.Add("男");

            dtSex.Rows.Add("女");

            dtSex.Rows.Add("男");

            dtSex.Rows.Add("男");

            dtSex.Rows.Add("女");

            dtSex.Rows.Add("男");

            dtSex.Rows.Add("女");

            dgvCombox.DataSource = dtSex.DefaultView;           

            dgvOrgin.DataSource = dtSex.DefaultView; 

 最终的结果如下:

localid88
2011-08-11
知道答主
回答量:5
采纳率:0%
帮助的人:3.6万
展开全部
在详细点 你具体想知道什么?
更多追问追答
追问
缺省是DataGridViewTextBoxColumn
怎么变成DataGridViewComboBoxColumn
追答
textbox  想 改用为 combobox ???

comboBox1.DataSource = dt1;
comboBox1.ValueMember = "id";
comboBox1.DisplayMember = "name";
提交的时候获取combobox的值这样获取:
comboBox1.SelectedValue.ToString()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式