dataGridView(winForm)动态修改单元格的值

junjian8811 2010-03-04 01:39:24
if (dataGV_activeInfo.Rows[i].Cells[5].Value.ToString() == "0")
{
dataGV_activeInfo.Rows[i].Cells[5].Value = "女";
}
这样是不正确的,大家帮忙改一下!第一次使用dataGridView,有点困难,毕竟与ASP中的GridView用法不一样。有其他方法也行!
...全文
1731 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序小海 2010-05-31
  • 打赏
  • 举报
回复
学习!
lxsamao 2010-04-12
  • 打赏
  • 举报
回复
登陆了怎么还是看不了
yongningzh 2010-03-04
  • 打赏
  • 举报
回复
应该是:dataGridView1[intCol,intRow].Value="女";
心态决定姿态 2010-03-04
  • 打赏
  • 举报
回复
同上
使用CellFormatting事件
lijunfeng 2010-03-04
  • 打赏
  • 举报
回复
找到了最简单的方法:
在CellFormatting事件里写

object obj = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
if (obj != null && obj.ToString() == "0")
e.Value = "女";
else
e.Value = "男";
peterb 2010-03-04
  • 打赏
  • 举报
回复
处理数据源, 或者dataGV_activeInfo不绑定数据源
lijunfeng 2010-03-04
  • 打赏
  • 举报
回复
或者你可以自定义一个ForamtProvider
然后指定给DataGridView.Columns[列名或列索引].DefaultCellStyle.FormatProvider
这样你就可以把0显示为 女 把1显示为 男 了
junjian8811 2010-03-04
  • 打赏
  • 举报
回复
if (dataGV_activeInfo.Rows[i].Cells[5].Value.ToString() == "0")
{
dataGV_activeInfo.Rows[i].Cells[5].Value = "女";
}
这样是不正确的,大家帮忙改一下!第一次使用dataGridView,有点困难,毕竟与ASP中的GridView用法不一样。有其他方法也行!
就不能在它上面改吗????
junjian8811 2010-03-04
  • 打赏
  • 举报
回复
我做的是“网吧管理系统”,后面还要显示上机时长等,这需要用当前时间与查询出的开始时间计算得出显示在dataGridView里!!!SQL语句已经不能改了!!!
lijunfeng 2010-03-04
  • 打赏
  • 举报
回复
我不知道你的表名和字段,写不全,只能再举个完整的例子吧
select 姓名,case 性别 when 0 then '女' else '男' end as 性别,年龄 from 人员信息表

其实主要就是case表达式的用法,其他的都和最简单的查询语句一样
shibinysy 2010-03-04
  • 打赏
  • 举报
回复
引用 3 楼 junjian8811 的回复:
举个例子:从数据库中查询“性别”(tinyint类型,0为女,1为男)这一列,数据绑定后,dataGridView显示“性别”列为0或1,如何使它显示女或男,不用改变数据库,也不能改变数据库????

针对这样的问题可以在sql语句中来控制.比如:
select 
(
case [id]
when 1 then 'aa'
when 2 then 'bb'
else 'cc'
end
) bbbb from tb_role


如果你使用的绑定的方式来添加的数据.那么要想修改需要修改数据源.
如果不是绑定的方式可以按照你上面的方式来修改.
junjian8811 2010-03-04
  • 打赏
  • 举报
回复
第一次见这种写法,麻烦写全点!
lijunfeng 2010-03-04
  • 打赏
  • 举报
回复
哦,你可以在查询的时候就转换
如: select case 性别 when 0 then '女' else '男' end as 性别
lijunfeng 2010-03-04
  • 打赏
  • 举报
回复
这个用法单独来看是没错的,也可能是因为运行时的数据原因,比如值为null的话你这个就会出错
你最好把你的上下文贴出来,另外错误提示是什么?
junjian8811 2010-03-04
  • 打赏
  • 举报
回复
举个例子:从数据库中查询“性别”(tinyint类型,0为女,1为男)这一列,数据绑定后,dataGridView显示“性别”列为0或1,如何使它显示女或男,不用改变数据库,也不能改变数据库????
kyoybs 2010-03-04
  • 打赏
  • 举报
回复
调试一下,是不是代码所在的事件不对?
xu56180825 2010-03-04
  • 打赏
  • 举报
回复
你要什么效果。。说清楚

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧