heisetoufa 发表于 2013-1-27 04:50:51

c# winform 选中dataGridView一条记录,把值赋给comboBox显示出来

下边这个是comboBox中已存在记录的情况
//设置comboBox3为当前选中的号牌种类for (int i = 0; i < comboBox3.Items.Count; i++){comboBox3.SelectedIndex = i;string comboBoxText1 = comboBox3.Text.Substring(comboBox3.Text.LastIndexOf(":") + 1);if (hpzlCO3.Equals(comboBoxText1)){return;}else{comboBox3.SelectedIndex = -1;}}


下边这个是comboBox中不存在记录的情况

#region 第二个dataGridView 鼠标单击 选中int count = 0;//设置comboBox1为当前dataGridView2的选中的hpzl的值private void dataGridView2_RowEnter(object sender, DataGridViewCellEventArgs e){int rowIndex = e.RowIndex; //获取当前行//MessageBox.Show(rowIndex.ToString());string hphm = dataGridView2.Rows.Cells["hphm"].Value.ToString(); //获取当前行 hphm 字段的值string hpzl = dataGridView2.Rows.Cells["hpzl"].Value.ToString(); //获取当前行 hpzh 字段的值string s = dataGridView2.Rows.Cells["id"].Value.ToString(); //获取当前行 xh 字段的值this.textBox2.Text = hphm;this.textBox3.Text = hphm;int count = 0;if (comboBox1.Items.Count == 0)//第一次进入窗体没值的时候,添加一个值到comboBox1里{this.comboBox1.Items.Add(hpzl);}else{//设置comboBox1为当前选中的hpzlfor (int i = 0; i < comboBox1.Items.Count; i++)//设置循环comboBox1中所有数据{comboBox1.SelectedIndex = i;//设置comboBox1的索引string comboBoxText1 = comboBox1.Text;//获取comboBox1当前索引值if (hpzl.Equals(comboBoxText1))//hpzl为当前选中的dataGridView2的 hpzl的值{count++;//如果进到这个if体,说明comboBox1中已存在当前选中的hpzl的值return;//跳出}else{comboBox1.SelectedIndex = -1;//否则设置为当全索引不变}}if (count == 0)//count为0,说明当前选中的dataGridView2的hpzl中的值在comboBox1不存在{this.comboBox1.Items.Add(hpzl);//添加一个comboBox1中不存在的值comboBox1.SelectedIndex = comboBox1.Items.Count - 1;//设置comboBox1的索引为最后添加的那个}}this.textBox4.Text = s;}#endregion

黑色头发:http://heisetoufa.iteye.com
页: [1]
查看完整版本: c# winform 选中dataGridView一条记录,把值赋给comboBox显示出来