DataGridViewComboBoxCell绑定 - “值无效”

时间:2015-04-21 13:53:53

标签: c# datagridview datagridviewcombobox

我知道在同一主题上有很长的问题清单,但我找不到答案。所以我想在我的DataGridView中添加一个组合框列。我在SQL中构建了一个返回ID / DisplayValue的SP。这是查询/结果集。 enter image description here

所以现在在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在form_Load事件

中添加了这2行
 // 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);

1 个答案:

答案 0 :(得分:0)

在搜索了一下后,我找到了问题。问题在于我的列的数据类型。我的DataPropertyNameInt16,我的ValueMember为Int32。无论如何,我已经修改了我的ValueMemberInt16,现在它可以正常工作了。我发布了这个答案,以防其他人遇到同样的情况。请特别注意数据类型!!!