社区
C语言
帖子详情
C# Winform中DataGridView中DataGridViewComboBoxColumn如何绑定数据源
yannis_lin
2013-03-02 02:48:48
DataGridView中DataGridViewComboBoxColumn绑定数据源后 当我改变DataGridViewComboBoxColumn的值时 DataGridView中后面几列的值也随之改变
...全文
386
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
的使用。包括创建
WinForm
项目与添加
DataGridView
控件,添加该列的方法及优势,填充其
ComboBox
数据源
,设置数据
绑定
、解决常见问题,自定义显示和编辑行为,处理事件,以及保存和加载数据的方法。
DataGridView
中
的
DataGridView
ComboBox
Column
使用浅析
本文介绍了如何使用
C#
在
DataGridView
控件
中
添加不同类型的列,并设置
数据源
。详细讲解了如何添加一个
绑定
到
数据源
字段的文本框列和一个下拉列表列,并演示了如何在
DataGridView
控件
中
显示数据及监听其编辑行为。
WinForm
中
,将
DataGridView
中
的某一行某一列设置为下拉列表时候单独
绑定
数据源
本文介绍如何在Visual Studio 2010的
WinForm
项目
中
,利用
DataGridView
ComboBox
Column
为
DataGridView
的每一行提供不同的下拉列表选项。通过遍历DataTable并动态添加到
DataGridView
ComboBox
Cell的方法实现。
C#
DataGridView
中
下拉列表框的实现
本文详细介绍如何在
WinForm
s
中
使用
DataGridView
控件,包括添加列、设置
数据源
、以及如何处理
ComboBox
列的数据编辑事件。通过实例展示了如何创建数据列、
绑定
数据源
,并实现了
ComboBox
列的动态填充。
winform
GridView列添加下拉框,
绑定
数据源
并设置默认值
本文介绍如何在
DataGridView
中
添加带有特定选项的下拉框,并详细展示了设置过程及
数据源
配置方法。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章