通常GridView控件在显示数据时,要将数据库中一些编号性质的数据显示成为相应的名称,如果编号和名称的对应是通过数据库中的表进行管理的,那么在给Gridview绑定数据时,数据源中包括名称字段就可以,如果编号和名称不是数据表管理的,而是固定的,如1表示新生班级,2表示二次分班,这种情况,就需要在Gridview控件的RowDataBind事件中进行相应处理。
如果数据是显示在Girdview控件的绑定列中,则转换比较简单,参考如下代码:
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
{
if
(e.Row.RowType
==
DataControlRowType.DataRow)
{
//
将班级类别编号转换为班级类别名称
if
(e.Row.Cells[
5
].Text
==
"
1
"
)
//
5是要转换的列的序号,从0开始
{
e.Row.Cells[
5
].Text
=
"
新生班级
"
;
}
else
if
(e.Row.Cells[
5
].Text
==
"
2
"
)
{
e.Row.Cells[
5
].Text
=
"
二次分班
"
;
}
}
}
但是如果数据是显示在GridView控件的模板列中,则不能采用以上的方式,可参考如下代码:
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
{
if
(e.Row.RowType
==
DataControlRowType.DataRow)
{
//
将班级类别编号转换为班级类别名称
Label lbl
=
(Label)e.Row.FindControl(
"
Label7
"
);
//
使用模板列的情况
if
(lbl
!=
null
)
{
if
(lbl.Text.Trim()
==
"
1
"
)
{
lbl.Text
=
"
新生班级
"
;
}
else
if
(lbl.Text.Trim()
==
"
2
"
)
{
lbl.Text
=
"
二次分班
"
;
}
}
}
"Label7"是模板列显示数据时借助的Label控件的ID