社区
C语言
帖子详情
C# Winform中DataGridView中DataGridViewComboBoxColumn如何绑定数据源
yannis_lin
2013-03-02 02:48:48
DataGridView中DataGridViewComboBoxColumn绑定数据源后 当我改变DataGridViewComboBoxColumn的值时 DataGridView中后面几列的值也随之改变
...全文
355
1
打赏
收藏
C# Winform中DataGridView中DataGridViewComboBoxColumn如何绑定数据源
DataGridView中DataGridViewComboBoxColumn绑定数据源后 当我改变DataGridViewComboBoxColumn的值时 DataGridView中后面几列的值也随之改变
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
column
和checkbox
column
实现
datagridview
与数据库的
绑定
并添加combox
column
和checkbox
column
。具有dgv行的复制、删除、上移、下移功能
c#
winform
DataGridView
高级特性
c#
winform
DataGridView
高级特性
datagridview
使用
combobox
进行二级联动
datagridview
里面使用
combobox
进行二级联动的一个使用效果。
C语言
70,026
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章