DataGridViewComboBoxCell Binding — «недопустимое значение»

Я знаю, что есть очень длинный список вопросов по одной и той же теме, но я не смог найти свой ответ. Итак, я хочу добавить столбец со списком в свой DataGridView. Я построил в SQL SP, который возвращает ID/DisplayValue. Вот запрос/результат. введите здесь описание изображения

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

введите здесь описание изображения

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

введите здесь описание изображения

Мой столбец большого набора данных IDCategorie возвращает

введите здесь описание изображения

Поэтому, когда я пытаюсь запустить этот запрос на 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);

person CiucaS    schedule 21.04.2015    source источник


Ответы (1)


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

person CiucaS    schedule 21.04.2015