foreach (DataGridViewRow row in this.dataGridView1.Rows) { int sex = int.Parse(row.Cells["SEX"].Value.ToString()); if () {} else {} } 其实就是遍历或者在sql里处理,case when
select name,id,sex =case sex when 1 then '男' else '女' end from table
楼主可以在绑定的时候用SQL语句做判断,即在配置SqlDataSource时使用用户自定义的SQl语句或存储过程 SQL code SELECT CASE sex WHEN 1 THEN '男' ELSE '女' END AS sex FROM Sex这样在dropdownlist里就显示中文的了 否则就需要判断一下dropdownlist的值,然后再重新绑定,这样就比较麻烦了
是winform吗 直接在Cell_Formating事件里 if (e.ColumnIndex==SexColumn.Index) if (e.Value==0) e.Value="男" else ...
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if ((e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Normal) || (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Alternate)) { //cells[3]未该项未第几列,下标从哦、0开始 Label la = ((Label)e.Row.Cells[3].FindControl("Label1")); if (la.Text == "1") { la.Text = "男"; } else { la.Text = "女"; } } }最好用 SELECT CASE sex WHEN 1 THEN '男' ELSE '女' END AS sex FROM Sex
方法一,可以通过SQL查询语句:SELECT CASE sex WHEN 1 THEN '男' ELSE '女' END AS sex FROM table 方法二,也可以到相应的行绑定事件,通过判断单元内容变更显示内容。
比如
方法一定要用public开头
如:public string GetSex(object value)
{
if(value.ToString() == "1")
{
return "女";
}
else
{
return "男";
}
}
用法帮邦定数据的地方
GetSex(Eval("sex"))就可以
其中sex为字段名
找到模版列中的该项的label
如果是label1
在RowDataBound中写一下代码
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState ==
DataControlRowState.Normal) || (e.Row.RowType ==
DataControlRowType.DataRow && e.Row.RowState ==
DataControlRowState.Alternate))
{
//cells[3]未该项未第几列,下标从哦、0开始
Label la = ((Label)e.Row.Cells[3].FindControl("Label1"));
if (la.Text == "1")
{
la.Text = "男";
}
else
{
la.Text = "女";
}
}
}
{
int sex = int.Parse(row.Cells["SEX"].Value.ToString());
if ()
{}
else
{}
}
其实就是遍历或者在sql里处理,case when
SQL code
SELECT CASE sex
WHEN 1 THEN '男'
ELSE '女'
END AS sex
FROM Sex这样在dropdownlist里就显示中文的了 否则就需要判断一下dropdownlist的值,然后再重新绑定,这样就比较麻烦了
例子代码参考:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/CPref17/html/T_System_Windows_Forms_DataGridViewComboBoxColumn.htm
WHEN 1 THEN '男'
ELSE '女'
END AS sex
FROM Sex
<%#Eval("Sex").ToString()=="1"?"男":"女"%>
直接在Cell_Formating事件里
if (e.ColumnIndex==SexColumn.Index)
if (e.Value==0)
e.Value="男"
else
...
{
if ((e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState ==
DataControlRowState.Normal) || (e.Row.RowType ==
DataControlRowType.DataRow && e.Row.RowState ==
DataControlRowState.Alternate))
{
//cells[3]未该项未第几列,下标从哦、0开始
Label la = ((Label)e.Row.Cells[3].FindControl("Label1"));
if (la.Text == "1")
{
la.Text = "男";
}
else
{
la.Text = "女";
}
}
}最好用
SELECT CASE sex
WHEN 1 THEN '男'
ELSE '女'
END AS sex
FROM Sex
方法二,也可以到相应的行绑定事件,通过判断单元内容变更显示内容。
不是web