日期:2014-05-18  浏览次数:20841 次

求助datagridview替换单元格数据的问题!
C# code
private void dgvPickStock_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
   DataGridViewRow dgr = dgvPickStock.Rows[e.RowIndex];
   if (dgr.Cells["NewValue"].Value == 1)
   {
   dgr.Cells["NewValue"].Value = "ck


dgr.Cells["NewValue"].Value这个单元格的值是int型的,我如上代码这样写然后运行就报错 Int转换成 String 失败 ,
请问要怎样才能这样转换显示?
我有一个好方法,是在SQL语句上做文章,用case when NewValue=1 then '正常' 这样的方法可以实现,可是不行,
这样的话我更新了又会报错,请大家给个其它可以实现的方法,谢谢!



------解决方案--------------------
dgr.Cells["NewValue"].Value == "1"试试
------解决方案--------------------
DataGridView內部數據類型校驗的問題,你看可不可以復寫它默認的校驗事件來屏蔽檢測
------解决方案--------------------
有可能你的列名没有设置。。

.cells[列号/列名].value的值是object的。

你也可以用索引号来访问一下试试吧,如果能正确,则说你的列名没有给。


------解决方案--------------------
关注!!
帮你顶!!
------解决方案--------------------
如果你执意要在grid里改也是可以。

不过我觉得SQL里作这样一个处理 会方便很多

 case when 字段='1' then '正常' ELSE '不正常' END 


------解决方案--------------------
探讨
DataGridView內部數據類型校驗的問題,你看可不可以復寫它默認的校驗事件來屏蔽檢測

------解决方案--------------------
关注下
------解决方案--------------------
你换事件,我包你可以。
------解决方案--------------------
用combobox 映射 绑定