C# winform DataGridView控件DataSource 绑定一个表后修改cell值的问题 20

我从数据库中取一个表放到DataTable中,使用DataSource进行绑定后,某一列是int类型的我怎么修改这个类型呢?我想赋值string类型的值总报"agsdgs... 我从数据库中取一个表放到DataTable中,使用DataSource进行绑定后,
某一列是int类型的 我怎么修改这个类型呢?我想赋值string类型的值 总报"agsdgs"不是有效的Int32值
DataGridView.Rows[0].Cells[0].value="agsdgs";
这个value的类型是object{int}
我数据库表中有一列性别是int类型 存放数值 1 0 也就是男或女

从数据库将这个表读出来 放入DataTable中

使用DataSource=DataTable这个表

这列的类型是 DataGridViewTextBoxColumn

绑定完后 我修改这列的 DataGridView.Rows[i].Cells[0].Value = "男";

这样会报错 “男”不是有效的int32值

我将DataGridView.Rows[i].Cells[0].DataType = typeof(string);后 也是不行的

我查看DataGridView.Rows[i].Cells[0].Value的类型是 object{int}类型

我怎么能将string类型赋值给这个 DataGridViewTextBoxCell呢???
展开
 我来答
申寒云03g
2012-06-11 · TA获得超过122个赞
知道答主
回答量:256
采纳率:100%
帮助的人:162万
展开全部
与你数据库中表中的列的类型一样,不符合的话就不能更改

string str = DataGridView.Rows[i].Cells[0].Value;//定义str用来接收你在性别列所填写的值
//然后用switch语句进行判断
switch(str)
{
case "男": //如果是男,就用1代替男加进去
case "女"://如果是女,就用0代替女加进去
default:break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张志强来啦
2012-06-11 · TA获得超过102个赞
知道答主
回答量:94
采纳率:0%
帮助的人:47.2万
展开全部
这样看行不行
首先你定义一个Datatable,这个Table的列你自己定义 是数字类型的就用数字类型,是字符串的用字符串,是日期的用日期类型,DataType不用我教吧?然后再把你查出来的数据绑给这个DataTable,最后把DataTable赋给DataGridView。这样就不会报类型错误了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
痞子_姆_
2012-06-13 · TA获得超过401个赞
知道答主
回答量:191
采纳率:66%
帮助的人:138万
展开全部
你到数据库里把列的数据类型改成string型,这样不管你往数据库里更新字符还是数字都ok了。
抱歉怎么在C#里改我还不会。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
善小星tS
2012-06-12 · 超过33用户采纳过TA的回答
知道答主
回答量:293
采纳率:0%
帮助的人:92.6万
展开全部
你前面不是用1.0来代替男女吗?那 DataGridView.Rows[i].Cells[0].Value = "男";不就应该是 DataGridView.Rows[i].Cells[0].Value = 1应该就可以了吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式