`
touchinsert
  • 浏览: 1314989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【转】DataGridViewComboBoxColumn的使用

 
阅读更多

本文转自:http://www.cnblogs.com/perfect/archive/2008/06/10/1216591.html



usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;

namespaceSys
{
publicpartialclassForm3:Form
{
publicForm3()
{
InitializeComponent();
}

privatevoidForm3_Load(objectsender,EventArgse)
{
dataGridView1.AllowUserToAddRows
=false;
dataGridView1.AutoGenerateColumns
=false;

using(SqlConnectionsqlconn=newSqlConnection("server=.;uid=sa;pwd=sa;database=xx"))
{
stringsql1=@"selectuserid,fullname,a.[description],b.ugroupid
fromusersaleftouterjoinusergroupb
ona.grade=b.ugroupid
";
stringsql2="selectdistinctugroupid,[description]fromusergroup";

DataGridViewComboBoxColumndgvComboBoxColumn
=dataGridView1.Columns["grade"]asDataGridViewComboBoxColumn;
dgvComboBoxColumn.DataPropertyName
="ugroupid";
dgvComboBoxColumn.DataSource
=GetTable(sql2).DefaultView;//必须在设置dataGridView1的DataSource的属性前设置
dgvComboBoxColumn.DisplayMember="description";
dgvComboBoxColumn.ValueMember
="ugroupid";

dataGridView1.DataSource
=GetTable(sql1).DefaultView;//一定要在dgvComboBoxColumn的DataSource后设置
}
}

privateDataTableGetTable(stringsql)
{
using(SqlConnectionsqlconn=newSqlConnection("server=.;uid=sa;pwd=yuling1310;database=smls"))
{
DataTabledt
=newDataTable();
SqlDataAdaptersqlda
=newSqlDataAdapter(sql,sqlconn);
sqlda.Fill(dt);
returndt;
}
}
}
}


注意事项:
.注意其ValueMember的DataType与DataPropertyName对应的列的DataType要相同,他不会为你做类型转换的。
2.编程设置显示样式时注意一定要在设置DataSource之前设置DataGridViewComboBoxColumn的DataSource等属性。

分享到:
评论

相关推荐

    datagridview中绑定combox,代码实现

    DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn(); ``` 2. 设置ComboBox的显示模式,比如是否显示文本、是否允许编辑等。 ```csharp comboBoxColumn.DisplayStyle = ...

    datagridview中使用combobox下拉列表框,datetimepicker 日期选择框

    DataGridViewComboBoxColumn comboCol = new DataGridViewComboBoxColumn(); comboCol.DataSource = myDataArray; // 数据源 comboCol.DisplayMember = "DisplayField"; // 显示字段 comboCol.ValueMember = ...

    DataGridView(DataGridViewComboBoxCell)使用

    DataGridViewComboBoxColumn dataCridCbo = this.dataGridView1.Columns["列名"] as DataGridViewComboBoxColumn; dataCridCbo.DataSource = dataSet.Tables[0]; dataCridCbo.DataPropertyName = "绑定数据的列名"; ...

    DataGridView控件使用大全(转+中文对应)

    - DataGridViewComboBoxColumn提供下拉列表选择,可以绑定数据源或手动设置选项。 4. **数据操作** - 数据输入和验证涉及多个事件,如CellValidating和CellValueChanged,用于确保数据的正确性。 - 新行处理涉及...

    C#中DatagridView中添加Combox可选下拉框控件

    DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn(); comboBoxColumn.HeaderText = "列名"; comboBoxColumn.Name = "ComboBoxColumnName"; comboBoxColumn.DataSource = new string[] {...

    vb.net DataGridView中添加ComboBox和按钮的控件

    1. 创建一个`DataGridViewComboBoxColumn`对象,设置其属性,如`DataPropertyName`(与数据源字段关联)和`DisplayMember`(显示的文本)。 2. 将此`ComboBox`列添加到`DataGridView.Columns`集合中。 3. 设置`...

    DataGridView中Combo绑定数据库

    DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn(); comboBoxColumn.DataSource = GetCategoryNames(reader); // 自定义方法,将数据转换为适合ComboBox的数据类型 comboBoxColumn....

    dgv中绑定数据库及cmb.zip

    然后,可以使用DataGridViewComboBoxColumn类创建新的列,并将其添加到DataGridView中。 ```csharp // 假设我们想将第三列转换为ComboBox DataGridViewComboBoxColumn comboBoxColumn = new DataGridView...

    在C/S(C#)项目中总结的一些经验

    - **扩展`DataGridViewComboBoxColumn`控件**:为了满足更多需求,我们可以自定义扩展`DataGridViewComboBoxColumn`控件,以支持`DropDown`和`Simple`样式。具体做法是创建一个继承自`DataGridViewComboBoxColumn`...

    ComboBoxDataGridView

    2. 创建`ComboBoxColumn`:通过代码或设计视图添加一个新的`DataGridViewTextBoxColumn`,然后将其转换为`DataGridViewComboBoxColumn`。 3. 配置`ComboBox`:设置`DataSource`属性以连接到数据源,`DisplayMember`...

Global site tag (gtag.js) - Google Analytics