datagirdview中combbox,从下拉框从选中内容后,再增加选中的pro_code值

@信心 2012-01-04 10:06:57
在datagridview 里添加comboBox 并对comboBox初始化pro_name , 现在问题是从下拉框从选中m内容后,再增加pro_code ,再增加选中的pro_code值 !!
DataSet myds = sperate.getds(sql, "gy_pro");//调用公用类定义dataset
DataGridViewComboBoxCell cbcell1 = new DataGridViewComboBoxCell();
foreach (DataRow aRow in myds.Tables["gy_pro"].Rows) //根据明细表中的科目名称,设置下拉字典
{
string newStr = aRow["pro_name"].ToString().Trim();
cbcell1.Items.Add(newStr);

}

cbcell1.DisplayStyleForCurrentCellOnly = true;
//cbcell2.DisplayStyleForCurrentCellOnly = true;
DataGridViewColumn column6 = new DataGridViewColumn(cbcell1);
column6.HeaderText = "产品名称";

column6.DataPropertyName = "AllotNature";
column6.ReadOnly = false;
this.ProDetail.Columns.Add(column6);
this.ProDetail.AutoGenerateColumns = false;//禁止自动添加行
this.ProDetail.Columns.Add("2", "数量");
this.ProDetail.Columns.Add("3", "单价");
this.ProDetail.Columns.Add("4", "产地");
this.ProDetail.Columns.Add("5", "保质期");
this.ProDetail.Columns.Add("6", "质检员");
...全文
130 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsitzj 2012-01-16
  • 打赏
  • 举报
回复

窗体加载里为datagridview加上两个combobox列,并从机构数据表里读取数据绑定机构列。

C# code
private void insert_Load(object sender, EventArgs e) { DataGridViewCheckBoxColumn zuzhang = new DataGridViewCheckBoxColumn(); zuzhang.HeaderText = "组长"; DataGridViewComboBoxColumn jigou = new DataGridViewComboBoxColumn(); jigou.HeaderText = "机构"; DataGridViewComboBoxColumn jianchayuan = new DataGridViewComboBoxColumn(); jianchayuan.HeaderText ="检查员"; dataGridView2.Columns.Add(zuzhang); dataGridView2.Columns.Add(jigou); dataGridView2.Columns.Add(jianchayuan); dataGridView2.Rows.Add(); SqlConnection conn = new SqlConnection(); conn.ConnectionString = cqchz_mis.Connection.Connstring; string cmdstr2; cmdstr2 = "select * from jigou"; conn.Open(); SqlCommand cmd2 = new SqlCommand(cmdstr2, conn); SqlDataAdapter adpt2 = new SqlDataAdapter(); adpt2.SelectCommand = cmd2; DataSet ds2 = new DataSet(); adpt2.Fill(ds2, "jigou"); jigou.DisplayMember = "机构名称"; jigou.ValueMember = "机构代码"; jigou.DataSource = ds2.Tables["jigou"]; conn.Close(); }我通过datagridveiw的CellValueChanged事件来动态绑定人员列。C# code
private void dataGridView2_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 1) { if (e.RowIndex > -1) { if (dataGridView2.Rows[e.RowIndex].Cells[1].Value == System.DBNull.Value) { return; } DataGridViewComboBoxCell cell = dataGridView2.Rows[e.RowIndex].Cells[2] as DataGridViewComboBoxCell; SqlConnection conn = new SqlConnection(); conn.ConnectionString = cqchz_mis.Connection.Connstring; string cmdstr2; cmdstr2 = "select 检查员编号,检查员姓名 from jianchayuan where 所属机构代码 = ‘" + dataGridView2.Rows[e.RowIndex].Cells[1].Value + "‘"; conn.Open(); SqlCommand cmd2 = new SqlCommand(cmdstr2, conn); SqlDataAdapter adpt2 = new SqlDataAdapter(); adpt2.SelectCommand = cmd2; DataSet ds2 = new DataSet(); adpt2.Fill(ds2, "jianchayuan"); cell.DataSource = ds2.Tables["jianchayuan"]; cell.DisplayMember = "检查员姓名"; cell.ValueMember = "检查员编号"; conn.Close(); } } }
熙风 2012-01-04
  • 打赏
  • 举报
回复
看不明白。。。
@信心 2012-01-04
  • 打赏
  • 举报
回复
没人理彩哟!自己顶一下。

111,098

社区成员

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

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

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