我是在datagridview中增加一个DataGridViewComboBoxColumn,设某一列中显示一个下拉列表框以供选择数据。代码如下:
DataGridViewComboBoxColumn cbc = new DataGridViewComboBoxColumn();
cbc.DataSource = dt;
cbc.DisplayMember = "性别";
cbc.ValueMember = "性别";
cbc.DataPropertyName = "性别";
cbc.HeaderText = "性别";
dataGridView1.Columns.AddRange(cbc);
我只做到了这一步实现了显示一个下拉列表框。问题就是。。现在我不知道怎么样才能给列表框增加(男,女)选项,以供选择数据。
DataGridViewComboBoxColumn cbc = new DataGridViewComboBoxColumn();
cbc.DataSource = dt;
cbc.DisplayMember = "性别";
cbc.ValueMember = "性别";
cbc.DataPropertyName = "性别";
cbc.HeaderText = "性别";
dataGridView1.Columns.AddRange(cbc);
我只做到了这一步实现了显示一个下拉列表框。问题就是。。现在我不知道怎么样才能给列表框增加(男,女)选项,以供选择数据。
hb_gx(高升)DataGridViewComboBoxColumn 是包括了items.但是不能和datasource共用。starsong(人生不如意事..十之一二...坦然面对就过去了。) 请给出详细的方法。
(谢谢几位)
{
((DropDownList)e.Item.FindControl("ddl_listid")).SelectedIndex = 0;
}
else
{
((DropDownList)e.Item.FindControl("ddl_listid")).SelectedIndex = 1;
}
e.Item.Cells[12]是绑定你的sex列,ddl_listid是你的DataGridViewComboBoxColumn ,这个是绑定,如果是保存,就取((DropDownList)e.Item.FindControl("ddl_listid")).SelectedItem.value用来保存.
da = new SqlDataAdapter("SELECT * FROM 职员基本信息表", conn);
da.Fill(dt);
里面不包含下拉项,男,女;我现在也就是不知道要如何加入 男,女 两要选项
改成
da = new SqlDataAdapter("SELECT case sex when 0 then '男' when 1 then '女' end as sex,其他字段.... FROM 职员基本信息表", conn);
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Sex", typeof(string))); DataRow row = dt.NewRow();
row[0] = "man";
dt.Rows.Add(row); DataRow row2 = dt.NewRow();
row2[0] = "woman";
dt.Rows.Add(row2); dt.AcceptChanges();//DataGridView列
DataGridViewComboBoxColumn cbc = new DataGridViewComboBoxColumn();
cbc.DataSource = dt;
cbc.DisplayMember = "Sex";
cbc.ValueMember = "Sex";
cbc.DataPropertyName = "Sex";
cbc.HeaderText = "Sex"; DataGridViewTextBoxColumn cid = new DataGridViewTextBoxColumn();
cid.HeaderText = "ID";
cid.DataPropertyName= "ID"; DataGridViewTextBoxColumn cname = new DataGridViewTextBoxColumn();
cname.HeaderText = "Name";
cname.DataPropertyName = "Name";
dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {cid, cname, cbc});//DataGridView数据源
DataTable dtSource = new DataTable();
dtSource.Columns.Add("ID", typeof(Int32));
dtSource.Columns.Add("Name", typeof(string));
dtSource.Columns.Add("Sex", typeof(string)); DataRow r1 = dtSource.NewRow();
r1[0] = 1;
r1[1] = "test";
dtSource.Rows.Add(r1);
dtSource.AcceptChanges(); dataGridView1.DataSource = dtSource;
tbc.Items.AddRange(new string[] { "男", "女"});这个方法可以加入下拉列表,这个表要是没有数据,就可以正常运行,也可以供选择。但有数据后就会出现错误:datagridviewcomboboxcell值无效。要替换此黑认对话框。
maotin(liu)
给的方法。。可以解决问题。(谢谢大家)