c# winform 之DataGridViewComboBoxColumn的使用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;
namespace dataviewcombox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//通过应用程序配置文件创建数据库链接
string constr = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
private void Form1_Load(object sender, EventArgs e)
{
#region//把数据库显示出来
dataGridView1.AllowUserToAddRows = false;//是否允许添加行
dataGridView1.AutoGenerateColumns = false;//是否允许自动添加列
using (SqlConnection sqlcon = new SqlConnection(constr))
{
sqlcon.Open();//打开数据库
string sql1 = "select * from [ClassTable]";//查出所有字段
string sql2 = "select Adept from [ClassTable]";//查出系别字段
DataGridViewComboBoxColumn dgvComboBoxColumn = dataGridView1.Columns["Adept"] as DataGridViewComboBoxColumn;
dgvComboBoxColumn.DataPropertyName = "Adept";//把显示的字段名和数据库的字段名绑定
dgvComboBoxColumn.DataSource = ShowData(sql2).DefaultView;//必须在设置dataGridView1的DataSource的属性前设置
dgvComboBoxColumn.DisplayMember = "Adept";//组合框要显示字符串的列
dgvComboBoxColumn.ValueMember = "Adept"; //下拉列表选项的值
dataGridView1.DataSource = ShowData(sql1).DefaultView;//绑定数据库

}
#endregion
}
public DataTable ShowData(string sql)
{
#region//自定义数据库显示函数
using (SqlConnection con=new SqlConnection(constr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(sql, con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
}
#endregion
}
}
}

//注释:注意事项截图如下:

//配置程序截图

//功能界面测试截图

原文地址:https://www.cnblogs.com/thbbsky/p/2732905.html