datagridview控件显示access数据表

cyhust2010 2010-09-17 10:02:11
C#中,access数据表中某一列是下拉列表框,如何能在datagridview控件中使这一列也显示为下拉列表框?感激不尽~~~
...全文
357 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyhust2010 2010-09-17
  • 打赏
  • 举报
回复
说详细一些就是我自己新建了一个access表,数据表里面有一列是下拉列表,现在我想在窗体的datagridview控件中将这个表的信息完整的显示出来,包括那个下拉列表框,也就是说在datagridview控件中点击那一列也会出现下拉框,我目前只能让datagridview完整地显示出access数据表里面的信息,下拉列表那一列在datagridview中变成了一般的数据框,只显示之前选中的那个项。
kj289907795 2010-09-17
  • 打赏
  • 举报
回复
恩 可能是想显示 后面的修改 删除
gengchenhui 2010-09-17
  • 打赏
  • 举报
回复
跟access没关系吧?
wuyq11 2010-09-17
  • 打赏
  • 举报
回复
DatagridViewComboxColumn cmbox = Datagridview.Columns["COmbox控件的Name"] as DatagridViewComboxColumn ;

cmbox.DataSource = 下框的数据源;
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)
{

}
jianshao810 2010-09-17
  • 打赏
  • 举报
回复

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);
}


qqrto 2010-09-17
  • 打赏
  • 举报
回复
LZ,可以采用2楼的方法在datagridview上做操作

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧