- 浏览: 634091 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
虽然在Visual Studio中 DataGridView控件的DataGridViewComboBoxColumn可以实现下拉列表框,但这样的列会在整列中都显示下拉列表框,不太 美观,而且还要用代码实现数据绑定。本文介绍一种只在当前编辑单元格中显示下拉列表框的方法,供大家参考。
首先新建一个Windows应用程序,将主窗体重命名为MainForm,在MainForm中加入一个DataGridView控件,命名为dgv_User。如下图所示:
打开窗体代码窗口,在代码窗口中声明一个ComboBox的控件
//
定义下拉列表框
private ComboBox cmb_Temp = new ComboBox();
private ComboBox cmb_Temp = new ComboBox();
我们要绑定的下拉列表框的功能是选择性别,添加如下绑定性别下拉列表框的方法
///
<summary>
/// 绑定性别下拉列表框
/// </summary>
private void BindSex()
{
DataTable dtSex = new DataTable();
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;
}
/// 绑定性别下拉列表框
/// </summary>
private void BindSex()
{
DataTable dtSex = new DataTable();
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;
}
通常情况下我们都是从数据库中获取数据表(或者数据集),然后绑定到DataGridView中的,这里我们为了避免连接数据库,手中构造一个数据库表,代码如下:
private
void
BindData()
{
DataTable dtData = new DataTable();
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 ] = " 400电话 " ;
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;
}
{
DataTable dtData = new DataTable();
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 ] = " 400电话 " ;
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;
}
为窗体加载事件添加如下方法,其具体功能有详细说明:
private
void
MainForm_Load(
object
sender, EventArgs e)
{
// 绑定性别下拉列表框
BindSex();
// 绑定数据表
BindData();
// 设置下拉列表框不可见
cmb_Temp.Visible = false ;
// 添加下拉列表框事件
cmb_Temp.SelectedIndexChanged += new EventHandler(cmb_Temp_SelectedIndexChanged);
// 将下拉列表框加入到DataGridView控件中
this .dgv_User.Controls.Add(cmb_Temp);
}
{
// 绑定性别下拉列表框
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
{
}
}
{
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 " ;
}
}
{
if (((ComboBox)sender).Text == " 男 " )
{
dgv_User.CurrentCell.Value = " 男 " ;
dgv_User.CurrentCell.Tag = " 1 " ;
}
else
{
dgv_User.CurrentCell.Value = " 女 " ;
dgv_User.CurrentCell.Tag = " 0 " ;
}
}
当滚动DataGridView或者改变DataGridView列宽时将下拉列表框设为不可见
private
void
dgv_User_Scroll(
object
sender, ScrollEventArgs e)
{
this .cmb_Temp.Visible = false ;
}
private void dgv_User_ColumnWidthChanged( object sender, DataGridViewColumnEventArgs e)
{
this .cmb_Temp.Visible = false ;
}
{
this .cmb_Temp.Visible = false ;
}
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 = " 女 " ;
}
}
}
}
{
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 = " 女 " ;
}
}
}
}
效果如下图所示:
完整的代码如下:
using
System;
using System.Data;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MyNameSpace
{
public partial class MainForm : Form
{
// 定义下拉列表框
private ComboBox cmb_Temp = new ComboBox();
public MainForm()
{
InitializeComponent();
}
/// <summary>
/// 绑定性别下拉列表框
/// </summary>
private void BindSex()
{
DataTable dtSex = new DataTable();
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;
}
/// <summary>
/// 为避免连接数据库,这里手工构造数据表,实际应用中应从数据库中获取
/// </summary>
private void BindData()
{
DataTable dtData = new DataTable();
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 ] = "http://www.baidu.com " ;
drData[ 2 ] = " 1 " ;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[ 0 ] = 3 ;
drData[ 1 ] = " http://www.my00800.cn " ;
drData[ 2 ] = " 1 " ;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[ 0 ] = 4 ;
drData[ 1 ] = " http://www.google.com " ;
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;
}
private void MainForm_Load( object sender, 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 = " 女 " ;
}
}
}
}
}
}
using System.Data;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MyNameSpace
{
public partial class MainForm : Form
{
// 定义下拉列表框
private ComboBox cmb_Temp = new ComboBox();
public MainForm()
{
InitializeComponent();
}
/// <summary>
/// 绑定性别下拉列表框
/// </summary>
private void BindSex()
{
DataTable dtSex = new DataTable();
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;
}
/// <summary>
/// 为避免连接数据库,这里手工构造数据表,实际应用中应从数据库中获取
/// </summary>
private void BindData()
{
DataTable dtData = new DataTable();
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 ] = "http://www.baidu.com " ;
drData[ 2 ] = " 1 " ;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[ 0 ] = 3 ;
drData[ 1 ] = " http://www.my00800.cn " ;
drData[ 2 ] = " 1 " ;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[ 0 ] = 4 ;
drData[ 1 ] = " http://www.google.com " ;
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;
}
private void MainForm_Load( object sender, 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 = " 女 " ;
}
}
}
}
}
}
文章很长,希望能给您带来帮助。
发表评论
-
Java和C#运行命令行并获取返回值 运行bat文件
2015-08-04 10:45 1330Java运行命令行的例子 import java.io.B ... -
c#操作excel后关闭excel.exe的方法
2013-04-10 10:47 920。网上的一种说法,关闭range,关闭worksheet,关 ... -
ddd
2012-05-24 17:30 0CREATE TABLE IF NOT EXISTS `s ... -
C#里 如何序列化与反序列化 hashtable Dictionary及C#连接mysql数据库
2011-08-19 13:24 1367using System.IO; using System. ... -
C# 压缩和解压web空间中的所有文件
2011-08-18 17:20 872using System; using ICSharpC ... -
C# 压缩和解压web空间中的所有代码
2011-08-18 17:17 679using System; using ICSharpCod ... -
自己制作软键盘的几个关键技术解析
2011-05-26 08:40 1077在嵌入式应用和一些安全软件中经常需要不通过物理键盘输入,虽然微 ... -
rtertert
2011-03-22 17:29 0fffffffffffffffffffffffff ... -
C#发送邮件时在正文中插入图片(邮件中直接包含图片)
2011-01-17 16:12 2412#region 发送邮件 ... -
c#生成Excel,可建立sheet,设定sheet名称,调整列宽度
2010-12-17 16:18 2698Excel生成类 ExcelRW.cs usin ... -
关于AutoResetEvent的使用
2010-12-16 17:21 916AutoResetEvent 允许线程通过发信号互相通信。 ... -
C# 取得函数的调用关系
2010-11-25 08:47 1581如何取得C ... -
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
2010-11-18 09:47 91331iis7.0官方安装包下载 iis7时微软为新一代web服务 ... -
简易的文件磁盘管理操作2(文件、文件夹的编辑创建删除移动拷贝重命名)
2010-11-15 17:22 907using System; using System.Dat ... -
简易的文件磁盘管理操作1(文件、文件夹的编辑创建删除移动拷贝重命名)
2010-11-15 17:21 977using System; using System.D ... -
Image和byte[]之间的转换
2010-11-11 17:05 1217image到byte[] 用到memoryStream类 ... -
.net framework--程序打包--打包.net运行库
2010-10-17 21:05 1691VS03默认是不能把.net运行库打包到自己要发布 ... -
WinForm最简单两GridView同步滚动
2010-09-10 10:28 1673今天在园子里看到一个人问,如何让两个DataGridView保 ... -
直接用aspx页面生成的html文件(不用建立自己的html模板)
2010-09-10 09:29 1414public static string Rend ... -
facebook代理软件
2010-09-09 16:32 203facebook代理软件
相关推荐
在本篇文章中,我们将深入探讨如何在`DataGridView`中集成`ComboBox`下拉列表框,以及相关的实现细节和应用场景。 首先,我们需要理解`DataGridView`和`ComboBox`的基本用法。`DataGridView`是一个可自定义的数据...
通过以上步骤,我们便成功地在`DataGridView`中加入了`ComboBox`下拉列表框。这种实现方式允许用户在编辑单元格时看到并选择下拉列表中的选项,提高了数据输入的效率和准确性。 总结一下,本篇文章主要介绍了如何在...
而为了增强用户交互和提供更多的操作选项,有时我们需要在`DataGridView`的单元格中集成`ComboBox`控件,这样用户就可以从下拉列表中选择值。本案例将详细介绍如何在`DataGridView`中实现`ComboBox`下拉列表的功能。...
在 C# DataGridView 中实现 ComboBox 下拉更改事件需要通过在 EditingControlShowing 事件中添加 SelectedIndexChanged 事件,并在 SelectedIndexChanged 事件中根据当前选中的班级,自动刷新班主任和名次。
在.NET框架中,尤其是C#开发Windows应用程序时,`DataGridView`是常用的数据展示控件,而`ComboBox`和`DateTimePicker`则是增强用户交互的重要工具。`DataGridView`用于显示表格形式的数据,`ComboBox`用于提供下拉...
1. **创建下拉列表**:使用`ComboBox`控件或者自定义控件来创建下拉列表,填充表头列中的所有唯一值。 2. **事件处理**:监听用户点击表头时的事件,如`MouseClick`,并在适当的时候显示或隐藏下拉列表。 3. **筛选...
本文将详细介绍如何在C#的`DataGridView`中添加下拉列表,并提供相关的实现步骤和技巧。 首先,我们需要在`DataGridView`的某一列上设置`DataGridViewComboBoxColumn`。这个列类型专门用于显示下拉列表。下面是一个...
在Windows Forms应用开发中,`DataGridView`控件是用于展示数据表格的强大工具,而`ComboBox`控件则常用于提供下拉选项选择。当需要实现二级联动效果时,即一个`ComboBox`的选择会影响到另一个`ComboBox`的选项,...
2. **下拉列表实现**:在列头单元格中嵌入下拉列表(通常是`ComboBox`控件)可让用户选择过滤条件。这需要在自定义单元格类中添加方法来创建和管理这个下拉列表,如设置列表项、处理用户选择等。 3. **事件处理**:...
在Windows桌面应用中,datagridview控件是一个非常重要的组件,它允许用户以表格形式展示和操作数据。本篇文章将深入探讨C#中datagridview控件的使用心得,包括其基本功能、数据绑定、自定义操作和事件处理等方面。 ...
总结,通过以上三个步骤,我们成功地在C#的DataGrid中添加了下拉列表框。这个功能对于那些需要用户从预定义选项中选择值的应用场景非常有用,提高了用户界面的友好性和数据输入的准确性。在实际开发中,可能还需要...
本例通过在EditingControlFormattedValue中返回combobox的selecteditem , 在自定义单元格控件时重写GetValue,GetFormattedValue 解决了 显示时显示的是绑定的实际值,而输入选择时显示的是显示的字段的问题. 具体实现...
### C# DataGridView 控件使用全攻略 #### 一、何为 DataGridView **1.1 DataGridView 和 DataGrid 之间的区别** DataGridView 控件是 .NET Framework 2.0 中引入的一个全新的表格控件,用来替代之前的 DataGrid ...
2. **添加下拉列表框列**:在表格控件中,为特定列设置ComboBox列类型。这通常涉及编程语言中对应的API调用,比如在C#中,可以使用`DataGridViewComboBoxColumn`类。 3. **填充下拉列表**:定义下拉列表的选项,...
在C#编程中,`DataGridView`控件是一个非常常用的数据展示工具,它可以显示表格形式的数据。在实际应用中,我们经常需要在`DataGridView`的某一列中添加下拉框(ComboBox)来提供用户选择特定值的功能。这既提高了...
### C# DataGridView 控件使用全攻略 #### 一、何为 DataGridView **1.1 DataGridView 和 DataGrid 之间的区别** `DataGridView` 是 .NET Framework 2.0 中引入的一个全新的表格控件,用来替代之前的 `DataGrid` ...
在C#开发中,我们经常会遇到需要在DataGridView控件中实现特定列的编辑功能,而为了增强用户体验并限制用户输入,我们可能希望将某个单元格转换为下拉框(ComboBox)。这种情况下,用户只能从预设的选项中选择,而...
// 将下拉列表框加入到DataGridView控件中 this.dgv_User.Controls.Add(cmb_Temp); // 隐藏ComboBox cmb_Temp.Visible = false; // 添加下拉列表框事件 cmb_Temp.SelectedIndexChanged += new EventHandler...
通过上述步骤,我们可以实现在 DataGridView 中动态绑定 ComboBox 控件的功能。这种方法非常适合需要对数据进行编辑的应用场景,尤其是在需要提供多个选项的情况下。需要注意的是,在实际开发过程中可能还需要考虑更...