社区
C语言
帖子详情
C# Winform中DataGridView中DataGridViewComboBoxColumn如何绑定数据源
yannis_lin
2013-03-02 02:48:48
DataGridView中DataGridViewComboBoxColumn绑定数据源后 当我改变DataGridViewComboBoxColumn的值时 DataGridView中后面几列的值也随之改变
...全文
367
1
打赏
收藏
C# Winform中DataGridView中DataGridViewComboBoxColumn如何绑定数据源
DataGridView中DataGridViewComboBoxColumn绑定数据源后 当我改变DataGridViewComboBoxColumn的值时 DataGridView中后面几列的值也随之改变
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liumingqiu32
2013-05-15
打赏
举报
回复
usingSystem;usingSystem.Data;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceMyNameSpace { publicpartialclassMainForm : Form { //定义下拉列表框 privateComboBox cmb_Temp =newComboBox(); publicMainForm() { InitializeComponent(); } /// ///绑定性别下拉列表框 /// privatevoidBindSex() { DataTable dtSex =newDataTable(); dtSex.Columns.Add("Value"); dtSex.Columns.Add("Name"); DataRow drSex; drSex =dtSex.NewRow(); drSex[0] ="1" drSex[1] ="男" dtSex.Rows.Add(drSex); drSex =dtSex.NewRow(); drSex[0] ="0" drSex[1] ="女" dtSex.Rows.Add(drSex); cmb_Temp.ValueMember ="Value" cmb_Temp.DisplayMember ="Name" cmb_Temp.DataSource =dtSex; cmb_Temp.DropDownStyle =ComboBoxStyle.DropDownList; } /// ///为避免连接数据库,这里手工构造数据表,实际应用中应从数据库中获取 /// privatevoidBindData() { DataTable dtData =newDataTable(); dtData.Columns.Add("ID"); dtData.Columns.Add("Name"); dtData.Columns.Add("Sex"); DataRow drData; drData =dtData.NewRow(); drData[0] =1 drData[1] ="张三" drData[2] ="1" dtData.Rows.Add(drData); drData =dtData.NewRow(); drData[0] =2 drData[1] ="李四" drData[2] ="1" dtData.Rows.Add(drData); drData =dtData.NewRow(); drData[0] =3 drData[1] ="王五" drData[2] ="1" dtData.Rows.Add(drData); drData =dtData.NewRow(); drData[0] =4 drData[1] ="小芳" drData[2] ="0" dtData.Rows.Add(drData); drData =dtData.NewRow(); drData[0] =5 drData[1] ="小娟" drData[2] ="0" dtData.Rows.Add(drData); drData =dtData.NewRow(); drData[0] =6 drData[1] ="赵六" drData[2] ="1" dtData.Rows.Add(drData); this.dgv_User.DataSource =dtData; } privatevoidMainForm_Load(objectsender, EventArgs e) { // 绑定性别下拉列表框 BindSex(); //绑定数据表 BindData(); // 设置下拉列表框不可见 cmb_Temp.Visible = false; // 添加下拉列表框事件 cmb_Temp.SelectedIndexChanged += new EventHandler(cmb_Temp_SelectedIndexChanged); // 将下拉列表框加入到DataGridView控件中 this.dgv_User.Controls.Add(cmb_Temp); } // 当用户移动到性别这一列时单元格显示下拉列表框 private void dgv_User_CurrentCellChanged(object sender, EventArgs e) { try { if (this.dgv_User.CurrentCell.ColumnIndex == 2) { Rectangle rect = dgv_User.GetCellDisplayRectangle(dgv_User.CurrentCell.ColumnIndex, dgv_User.CurrentCell.RowIndex, false); string sexValue = dgv_User.CurrentCell.Value.ToString(); if (sexValue == "1") { cmb_Temp.Text = "男"; } else { cmb_Temp.Text = "女"; } cmb_Temp.Left = rect.Left; cmb_Temp.Top = rect.Top; cmb_Temp.Width = rect.Width; cmb_Temp.Height = rect.Height; cmb_Temp.Visible = true; } else { cmb_Temp.Visible = false; } } catch { } } // 当用户选择下拉列表框时改变DataGridView单元格的内容 private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e) { if (((ComboBox)sender).Text == "男") { dgv_User.CurrentCell.Value = "男"; dgv_User.CurrentCell.Tag = "1"; } else { dgv_User.CurrentCell.Value = "女"; dgv_User.CurrentCell.Tag = "0"; } } // 滚动DataGridView时将下拉列表框设为不可见 private void dgv_User_Scroll(object sender, ScrollEventArgs e) { this.cmb_Temp.Visible = false; } // 改变DataGridView列宽时将下拉列表框设为不可见 private void dgv_User_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) { this.cmb_Temp.Visible = false; } // 绑定数据表后将性别列中的每一单元格的Value和Tag属性(Tag为值文本,Value为显示文本) private void dgv_User_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { for (int i = 0; i < this.dgv_User.Rows.Count; i++) { if (dgv_User.Rows[i].Cells[2].Value != null && dgv_User.Rows[i].Cells[2].ColumnIndex == 2) { dgv_User.Rows[i].Cells[2].Tag = dgv_User.Rows[i].Cells[2].Value.ToString(); if (dgv_User.Rows[i].Cells[2].Value.ToString() == "1") { dgv_User.Rows[i].Cells[2].Value = "男"; } else if (dgv_User.Rows[i].Cells[2].Value.ToString() == "0") { dgv_User.Rows[i].Cells[2].Value = "女"; } } } } } }
C#
WinForm
(
DataGridView
ComboBox
Column
绑定
)自己写的,最简单实例
C#
WinForm
DataGridView
ComboBox
Column
绑定
自己写的,最简单实例
C#
winform
datagridview
里的下拉框
中
既可以从下拉框里选择数据,也可以让客户自己手动往里输入数据,
C#
winform
datagridview
里的下拉框
中
既可以从下拉框里选择数据,也可以让客户自己手动往里输入数据,
DataGridView
控件Combox列数据
绑定
代码内包含了DataGrdiView控件如何创建Combox列,并给Combox列
绑定
数据源
,以及
数据源
后台所对应的值
实现
datagridview
与数据库的
绑定
并添加combox
column
和checkbox
column
实现
datagridview
与数据库的
绑定
并添加combox
column
和checkbox
column
。具有dgv行的复制、删除、上移、下移功能
c#
winform
DataGridView
高级特性
c#
winform
DataGridView
高级特性
C语言
70,036
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章