如何设置datagridview列为combobox

datagridview已经绑定数据源

Visual Basic code?

1
2
3
4

SqlStr = "select * from [fa]"
db.rs.Open(SqlStr, db.conn, 1, 2)
db.da.Fill(db.ds, db.rs, "fa")
datagridview1.DataSource = db.ds.Tables(0)

然后想第三列“名称”设置成combobox,读取另外一个表的第一列信息填充combobox下拉列表框

我模板里绑定数据源之后做以下操作的结果正确,代码绑定数据源就不会写了

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“DbDataSet1.fa”中。您可以根据需要移动或删除它。
db.conn.Open(db.ConnStr)
Me.FaTableAdapter.Fill(Me.DbDataSet1.fa)
SqlStr = "select * from [prize]"
db.rs.Open(SqlStr, db.conn, 1, 2)
db.da.Fill(db.ds, db.rs, "prize")

c2.ValueMember = "名称"
c2.DisplayMember = "名称"
c2.DataSource = db.ds.Tables(0)
End Sub

我是新手,请大神指教,多谢

代码添加
With Me.DataGridView1
.Columns.Add(New DataGridViewComboBoxColumn)
End With
或者设计时在datagridview上右键添加列,然后指定列名,并指定类型为DataGridViewComboBoxColumn追问

可我想代码绑定DataGridView1的数据源


这样的话就会在添加的combobox列后面重新生成了“fa”这个表里的所有列“名称”这一列就重复了

我想全部用代码实现绑定数据源为“fa”表,其中“名称”这一列为combobox,下拉列表框里的内容为另一个奖品表里的记录,form1_load的时候“名称”这列先显示“fa.名称”的值,用户再通过下拉列表框可添加或修改这个“fa”表内的记录

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-03
这样写:
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(string));
dt.Columns.Add("Name", typeof(string));
dt.Rows.Add("001", "一班");
dt.Rows.Add("002", "二班");
DataGridViewComboBoxColumn c = new DataGridViewComboBoxColumn();

c.DataSource = dt;
c.DisplayMember = "Name";
c.ValueMember = "Id";
c.DataPropertyName = "banj";
dataGridView1.Columns.Add(c);
显示正常。

vb.net中的DataGridView控件设置列为DataGridViewComboBoxColumn不能...
1. 在设计视图中,打开DataGridView控件的属性窗口。2. 找到Columns属性,点击编辑按钮以打开列编辑器。3. 在列编辑器中,选择要设置为组合框列的列,然后将ColumnType属性设置为DataGridViewComboBoxColumn。4. 在列编辑器的属性窗口中,找到DisplayStyle属性,并将其设置为ComboBox。5. 找到ReadOnly属性...

如何设置datagridview列为combobox
或者设计时在datagridview上右键添加列,然后指定列名,并指定类型为DataGridViewComboBoxColumn

C#中如何将datagridview中某一列的值不重复的显示到一个combobox中
以下方法是实现将界面上的dataGridView1控件中第一列的值填充到界面上的comboBox控件中的,,重复的值是不会添加的。在窗体的启动事件中调用此方法就可以了,如果是取其它列的值,修改“Cells[0]”的值就可以了;private void getName(){ List<string> lsName=new List<string>;for(int i=0;i<...

C#的DataGridView中怎么为一列加一个Combox的控件效果如图
用拖动绑定数据源,表A用默认的网格控件即DataGridView,展开表A节点,最后一列是表B的可展开的节点,即表A中的表B节点,选择表B显示列是客户姓名,控件是ComboBox。拖动表A到窗体,显示DataGridView控件,拖动表B到DataGridView的外键列客户ID。参见博客,百度danyaody,第13章例13-6。

c#里点击datagridview中的下拉列表中的文字怎么设置弹出窗体
首先,在 DataGridView 中添加了一个带有下拉列表的列。然后,我们设置了 CellClick 事件处理程序 DataGridView_CellClick。在该事件处理程序中,我们首先检查是否单击了下拉列表单元格。如果是,则将 dataGridView.EditingControl 转换为 DataGridViewComboBoxEditingControl,以获取实际的 ComboBox 编辑控件。接...

C#在DataGridView控件中的一个指定的单元格加ComboBox
DataGridViewComboBoxCell cb= new DataGridViewComboBoxCell();\/\/给下拉框赋值: dt包含ID和Name两列,也可以自己在属性Items里直接添加下拉框显示的每一项 cb.DataSource = dt;cb.DisplayMember = "Name";cb.ValueMember = "ID";DataGridView.Rows[i].Cells[j]=cb;DataGridView.Rows[i].Cells[...

vb中如何用ComboBOX控件显示DataGridView中的一列; 选中ComboBOX下拉表...
Button2的Click事件代码,目的,把DataGridView1第一列的数据添到ComboBox里面:‍Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click For i = 1 To DataGridView1.RowCount - 1 ComboBox1.Items.Add(DataGridView1.Item(0...

dataGridView如何添加下拉列表
在dataGridView的任务里面,也就是左上角的那个小箭头,选择添加列,类型选dataGridViewComboBoxColumn就出现了。然后再选择编辑列,编辑datasource或者是手动给items赋值,就好了。

vb.net中如何给datagridview的每个combobox单元格指定独立的下拉列表...
1、首先新建一个Windows应用程序,将主窗体重命名为MainForm,在MainForm中加入一个DataGridView控件,命名为dgv_User。 2、打开窗体代码窗口,在代码窗口中声明一个ComboBox的控件 \/\/ 定义下拉列表框 private ComboBox cmb_Temp = new ComboBox(); 3、方法: \/\/\/ \/\/\/ 绑定下拉列表框 \/\/\/ private void Bind...

用c#怎样实现ComboBox下拉列表,这个列表是二列,多列的!
额,这个不是单纯的ComboBox,而是一个ComboBox+一个DataGridView。只不过你在点开ComboBox的时候,弹出的不是下拉列表了。可以这样模拟实现:ComboBox不绑定数据,而是放一个隐藏的datagridview来绑定,点击ComboBox的时候,将这个datagridview显示出来,就是这效果了。然后选择gridview某一行的时候,ComboBox...

相似回答