首页 > 代码库 > C# dataGridView控件中加入comboBox控件及注意事项
C# dataGridView控件中加入comboBox控件及注意事项
DataGridViewComboBoxColumn pCombo; private void Teaching_Add_Load(object sender, EventArgs e) { MyDBase DB = new MyDBase(DBUser.sserver,DBUser.DBName, DBUser.suser, DBUser.spasswd); DataSet DS= DB.GetRecordset("select * from view_teach_tmp"); dataGridView1.DataSource = DS.Tables[0]; pCombo = new DataGridViewComboBoxColumn(); SqlDataReader RD = DB.DBDataReader("select * from expert"); while (RD.Read()) { string st = RD[0].ToString().Trim() + "." + RD[1].ToString().Trim(); pCombo.Items.Add(st); } RD.Close(); dataGridView1.Columns.Add(pCombo); dataGridView1.Columns[7].HeaderText = "请选择专家"; DB.DBClose(); }
说明:
1.dataGridView中添加comboBox控件利用初始化现成的类DataGridViewComboBoxColumn,本例先把从view_teach_tmp中读出的数据加到dataGridView1中,然后把初始化的comboBox控件pCombo加到最后一列,并给标题HeaderText命名。
2.pCombo控件中显示的是expert表中的“编码.专家姓名”,若要获取编码,可用下面的函数GetENo。
string GetENo(string st) { int n, i; string s = ""; n = st.Length; for (i = 0; i < n; i++) { if (st.Substring(i, 1) == ".") return s; s = s + st.Substring(i, 1); } return "-1"; }
3.调用函数GetENo:
string ENo;
for (int i = 0; i < n; i++) { if (dataGridView1.Rows[i].Cells[7].Value =http://www.mamicode.com/= null)> 特别说明:要判断pCombo控件是否全都选值,要使用if (dataGridView1.Rows[i].Cells[7].Value =http://www.mamicode.com/= null),起初使用if (dataGridView1.Rows[i].Cells[7].Value.Tostring().Trim().Length==0)语句,直接报错,打死都找不出问题所在。
C# dataGridView控件中加入comboBox控件及注意事项
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。