我的datagridview有一自定义列QuanXian绑定到数据库的flg(char(1)),,我想显示时1为管理员、0为用户,但出现长度限制的错误,高手帮忙!!
代码:
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
//quanxian
if (row.Cells["QuanXian"].Value.ToString() == "1")
{
row.Cells["QuanXian"].Value = "管理员";//出错,说是超出长度限制,数据库中flg类型char(1)
}
else
{
if (row.Cells["QuanXian"].Value.ToString() == “0”)
{
row.Cells["QuanXian"].Value = “用户”;//出错,说是超出长度限制
}
}
}
代码:
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
//quanxian
if (row.Cells["QuanXian"].Value.ToString() == "1")
{
row.Cells["QuanXian"].Value = "管理员";//出错,说是超出长度限制,数据库中flg类型char(1)
}
else
{
if (row.Cells["QuanXian"].Value.ToString() == “0”)
{
row.Cells["QuanXian"].Value = “用户”;//出错,说是超出长度限制
}
}
}
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
//quanxian
if (row.Cells["QuanXian"].Value.ToString() == "1")
{
row.Cells["QuanXian"].Value.trim() = "管理员";
}
else
{
if (row.Cells["QuanXian"].Value.ToString() == “0”)
{
row.Cells["QuanXian"].Value.trim() = “用户”;
}
}
}
即row.Cells["QuanXian"].Value.ToString().trim();
不能这样写吧,Datagridview貌似只能绑定数据源吧,页面上只能判断,修改还是得到数据库得吧?
给个我得建议:把SQL改成这样看看select distinct(
(case when USERROLE=1 then N'管理员'
when USERROLE=0 then N'用户' end))as USERROLE
from tablename
select *,(case quanxian when 1 then N'管理员'
when 0 then N'用户' end) as USERROLE
from 表名
这个在绑定的时候,绑定USERROLE字段
第二个办法:
得到DataSet以后,给你要绑定的table加一列,这一列的值就根据你的quanxian那列的值来赋值,绑定时,显示这一列