C#中,access数据表中某一列是下拉列表框,如何能在datagridview控件中使这一列也显示为下拉列表框?感激不尽~~~
解决方案 »
- 反射调用dll怎样控制窗体的大小
- 中文 \u 开头的 类似 \u533b \u836f 这样 怎么转换
- 请教网页插件变成
- Javascript狂简单题,散分!
- winform 中的datagrid的最左边列能显示一个小图标吗
- 关于不同分类中不同物品属性设置的界面设计
- 多条数据同时插入同一表中,第一条插入完毕后,插入第2条时判断库中是否存在该数据存在,不存在继续插入,存在则做修改操作!(备注:出现错误必须统一回滚)
- System.Windows.Forms.ListView 如何设置数据绑定啊?
- 请问同样的代码在webform 和 winform 中的结果不同
- c#---oledb數據庫聯接的問題
- 一个问题。
- 如何用C#做一个这样的界面?
private void GetData(string selectCommand, BindingSource binding, DataGridView dGV)
{
try
{
String connectionString = "server="+ connectionReadServerIp + ";uid=
" + connectionReaduser + ";pwd=
" + connectionReadPassword +
";database=" + connectionReaddatabase;
SqlDataAdapter dataAdapter = new SqlDataAdapter(selectCommand, connectionstring); DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
binding.DataSource = table;
dGV.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
}
catch (SqlException error)
{
WriteLog(error.Message.ToString());
}} 2、在窗体的 Load 事件处理程序中,将 DataGridView 控件绑定到 BindingSource 组件,并调用 GetData 方法从数据库中检索数据(事先必须先将DataGridView控件和BindingSource控件拖到Form中,编译器会自动创建两个变量bindingSource1和dataGridView1)
private void Form1_Load(object sender, System.EventArgs e)
{
dataGridView1.DataSource = bindingSource1;
GetData("select * from Customers",bindingSource1,dataGridView1);
}
cmbox.DataPropertyName= datagrid的数据源的要绑定的列;
cmbox.d...Member="下拉框显示的TEXT";
cmbox.ValueMember="隐藏的值";
DataGridViewComboBoxColumn csex = new DataGridViewComboBoxColumn();
csex.DataPropertyName = "sSex";
csex.HeaderText = "性别";
DataTable dt = new DataTable();
dt.Columns.Add("sexname");
dt.Columns.Add("sexvalue");
DataRow dr = dt.NewRow();
dr[0] = "男";
dr[1] = "1";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = "女";
dr1[1] = "2";
dt.Rows.Add(dr1);
csex.DataSource = dt;
csex.ValueMember = "sexvalue";
csex.DisplayMember = "sexname";
this.datagridview1.Columns.Add(csex); private void DataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl && this.DataGridView.CurrentCell.ColumnIndex == 2 && this.DataGridView.CurrentCell.RowIndex != -1)
{
this.DataGridViewComboBox = (DataGridViewComboBoxEditingControl)e.Control;
DataGridViewComboBox.SelectionChangeCommitted += new EventHandler(this.DataGridViewComboBox_SelectionChange);
}
} private void DataGridViewComboBox_SelectionChange(object sender, EventArgs e)
{
}