2015-04-21 2 views
0

Я знаю, что есть очень длинный список вопросов по одной теме, но я не смог найти свой ответ. Поэтому я хочу добавить столбец combobox в свой DataGridView. Я построил в SQL SP, который возвращает ID/DisplayValue. Вот запрос/набор результатов. enter image description hereDataGridViewComboBoxCell Binding - «значение недействительно»

Так что теперь в VS я построил ds с несколькими процедурами.

enter image description here

Теперь я добавил колонку со следующими параметрами.

enter image description here

Моя большая колонна набор данных IDCategorie возвращает

enter image description here

Так что, когда я пытаюсь запустить этот запрос на formLoad, чтобы увидеть мои данные.

cmd = new SqlCommand("spProduse_Show", conn); 
      cmd.CommandType = CommandType.StoredProcedure; 
      try 
      { 
       SqlDataAdapter sda = new SqlDataAdapter(); 
       sda.SelectCommand = cmd; 
       DataTable dtProduse = new DataTable(); 
       sda.Fill(dtProduse); 
       spProduseShowBindingSource.DataSource = dtProduse; 
       dataGridView1.DataSource = spProduseShowBindingSource; 
       sda.Update(dtProduse); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 

и я получаю ошибку в названии, любые идеи? Я сделал то же самое с другим столбцом, и все работает нормально, но по какой-то причине этого нет, и я не могу понять это.

Также VS добавили это 2 строки в form_Load случае

// TODO: This line of code loads data into the 'dsProduse.spLK_CategoriiProduse' table. You can move, or remove it, as needed. 


    this.spLK_CategoriiProduseTableAdapter.Fill(this.dsProduse.spLK_CategoriiProduse); 
    // TODO: This line of code loads data into the 'dsProduse.spLK_Furnizori' table. You can move, or remove it, as needed. 
    this.spLK_FurnizoriTableAdapter.Fill(this.dsProduse.spLK_Furnizori); 

ответ

0

Ok после поиска немного больше, я сумел найти мою проблему. Проблема заключается в типе данных моей колонки. Мой DataPropertyName был Int16, а мой ValueMember был Int32. Во всяком случае, я модифицировал свой ValueMember до Int16, и теперь он работает. Я отправляю этот ответ, если кто-то другой попадает в ту же ситуацию. Будьте особенно осторожны при использовании типов данных !!!

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