日期:2014-05-17  浏览次数:20957 次

c#datagridview的显示问题
我从数据库里查询一张表的数据,付给datagridview 其中 有 三列是 combobox类型的,我给datagridview的datasource属性赋值时 出现了datagridviewcomboboxcell值无效 ,但是 我 已经给 这三列combobox的datasource属性赋值了啊 代码如下

DataTable dt = new DataTable();
            dt.Columns.Add("OriginalCode");
            dt.Columns.Add("OriginalName");
            DataRow dr1 = dt.NewRow();
            dr1["OriginalCode"] = "True";//赋值为1或0也不好用
            dr1["OriginalName"] = "原件";

            DataRow dr2 = dt.NewRow();
            dr2["OriginalCode"] = "False";
            dr2["OriginalName"] = "复印件";

            dt.Rows.Add(dr1);
            dt.Rows.Add(dr2);
            dgvfcmbIsOriginal.DataSource = dt;
            dgvfcmbIsOriginal.DisplayMember = "OriginalName";
            dgvfcmbIsOriginal.ValueMember = "OriginalCode";


DataTable dt = new DataTable();
            dt = CommonMethodHelper.ToDataTable(Cost_FeeInfoManager.GetCost_FeeInfoByBusinessNum(cfi));
            //为付款信息赋值
            dgvfcmbCurrency_Name.DataSource = dt;
            dgvfcmbCurrency_Name.DisplayMember = "Currency_Name";
            dgvfcmbCurrency_Name.ValueMember = "Currency_Id";
            //dgvfcmbCurrency_Name的datapropertyname的值是Currency_Name
            ghdgvFukuan.DataSource = dt;

请问高手这是什么问题啊

------解决方案--------------------
你赋值的值,必须在下拉中存在才行
------解决方案--------------------
你的Comboxcell下拉列表赋值了?
------解决方案--------------------
你把值转成字符串吧。。。
------解决方案--------------------
你取的时候就转成字符串。dataTable的列定义成字符型。combox的项不能是bool型吧。
------解决方案--------------------
还是True。False啊
------解决方案--------------------
从数据库里取数据的时候如果是true就返回True这个字符串,false就返回False字符串,
这样就跟你的combox里的值匹配了。