Выбранное значение комбобокса всегда показывает система.данных.объекта datarowview
Привет,
Я использую combobox в приложении моего окна.
А combobox привязывается к источнику данных с помощью valuemember и displaymember.
и на selectedindexchenged комбобокса я стараюсь, чтобы заполнить мое практическое руководство.
и я делаю это через combobox.selectedvalue.
Но я всегда получал ошибку, что тип данных недопустим для логической операции.
[Тип данных(если известен)=int,тип данных(если известен)=nvarchar]
и мой datagridview не заполняется.
private void Form_Load(object sender, EventArgs e) { try { label3.Visible = false; label4.Visible = false; string connstring = Properties.Settings.Default.TestDBConnectionString; con = new SqlCeConnection(connstring); con.Open(); getallsubject(); //getallunit(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void getallsubject() { try { da = new SqlCeDataAdapter("select SubjectId,SubjectName from Subject", con); DataTable dt = new DataTable(); da.Fill(dt); if (dt != null) { comboBoxsubject.DataSource = dt; comboBoxsubject.ValueMember = dt.Columns[0].ToString(); comboBoxsubject.DisplayMember = dt.Columns[1].ToString(); //DataRow dr=dt.Rows[0]; //listBox1.DataSource = dt; //listBox1.DisplayMember = dt.Columns[1].ToString(); //listBox1.ValueMember = dt.Columns[0].ToString(); } else { MessageBox.Show("No subject to add unit.Before proceed add subjects."); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void comboBoxsubject_SelectedValueChanged(object sender, EventArgs e) { getallunit(); }
private void getallunit() { try { if (comboBoxsubject.SelectedValue!="0") { da = new SqlCeDataAdapter("select u.UnitId,u.UnitName,s.SubjectName from SubjectUnit u,Subject s where u.SubjectId=s.SubjectId and u.SubjectId='" +comboBoxsubject.SelectedValue + "'", con); DataTable dt = new DataTable(); da.Fill(dt); if (dt != null) { dataGridViewunit.DataSource = dt; } else { MessageBox.Show("No units has been added yet."); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }