2013-10-25 3 views
1

Я хочу заполнить combobox, используя запрос, который я добавил в набор данных? запрос должен дать выход в зависимости от предыдущей выпадающий selection.any помощи о том, как я могу его кодЗаполнение combobox с запросом из моего набора данных

это мой код до сих пор, но он не хочет работать


Ok, так что я обновил мой код, но теперь он дает мне целые входы таблиц, но я хочу, чтобы он был отфильтрован по любому варианту, который я выбираю в cmbSchool. Как теперь фильтровать его с помощью параметра?

вот мой новый код

private void cmbSchool_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     int ischoolid = Convert.ToInt16(cmbSchool.SelectedValue); 

     try 
     { 
      cmbClassRoomName.DataSource = this.geared4MathDataSet.ClassRoom; 
      cmbClassRoomName.ValueMember = "ClassRoomID"; 
      cmbClassRoomName.DisplayMember = "ClassRoomName"; 
      //this.classRoomTableAdapter.FillBySchool(this.geared4MathDataSet.ClassRoom, ischoolid); 
      lblClassroomName.Visible = true; 
      cmbClassRoomName.Visible = true; 
     } 
     catch (System.Exception ex) 
     { 
      System.Windows.Forms.MessageBox.Show(ex.Message); 
     } 

    } 
+0

Не хотите работать, действительно не очень описательно. У вас есть попытка поймать, что сообщение об ошибке? Или, если нет сообщения, что не работает? – Steve

+0

сообщение об ошибке: не может привязываться к новому элементу значения. Имя параметра: Значение –

+0

ValueMember и DisplayMember должны быть именем поля, присутствующего в DataSource. Каково значение, возвращаемое вашей Convert.ToString (.....). Если это не имя поля, это объясняет ошибку. Используйте временную строковую переменную для получения результата вашего Convert.ToString() и используя отладчик, проверьте возвращаемое значение. (Кстати, ваша потребность конвертировать это в строку - это мертвая отдача, что что-то на самом деле не является именем поля) – Steve

ответ

0

фильтровать ClassRoom напечатал DataTable вернуть только запись с schoolid выбранного вы могли бы написать

cmbClassRoomName.DataSource = this.geared4MathDataSet.ClassRoom 
           .Where(x => x.IDSchool == ischoolid) 
           .CopyToDataTable(); 

Это, конечно, предполагает, что у вас есть поле под названием IDSchool в таблице ClassRoom. Вы можете отрегулировать имя, используемое здесь, на правильное значение

+0

спасибо за вашу помощь :) отлично работает –

Смежные вопросы