DataGird中如何将一个从数据库取得的字段进行转换显示?
<asp:DataGrid id="MyDataGrid" runat="server" DataKeyField="OrgID" AutoGenerateColumns="false">
<Columns>
。。。
<asp:BoundColumn DataField="OrgID" ReadOnly="True" HeaderText="科室代码"></asp:BoundColumn>
<asp:BoundColumn DataField="IsValid" ReadOnly="True" HeaderText="有效标志"></asp:BoundColumn>
。。。
</Columns>
</asp:DataGrid>
IsValid字段是从数据库中取出来的,它可能是1或0,现在我想让它数据库值为0时显示“有效”,为1时显示为“无效”,应该怎么处理。
问题点数:20、回复次数:8Top
1 楼veryhappy(wx.net)回复于 2005-07-02 12:56:48 得分 4
select语句里面用case来表示吧Top
2 楼liyun919(大小姐(疼自己多一点,爱自己多一点,做自己的大小姐))回复于 2005-07-02 13:07:37 得分 0
能不能具体点啊,不会。。。Top
3 楼hchxxzx(NET?摸到一点门槛)回复于 2005-07-02 13:08:06 得分 4
sql = "select iif(IsValid=0,'无效','有效') from table";
以上是ACCESS数据库的用法
sql = "select codede(IsValid,'0','无效','有效') from table ";
以上是oracle数据库的用法Top
4 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-07-02 13:08:51 得分 4
select IsValid = case IsValid when 0 then '有效' when 1 then '无效' end from table
这样的SQL语句就可以Top
5 楼aaehy(乖狼)回复于 2005-07-02 13:08:54 得分 4
用sql转换:
select case IsValid when 1 then '有效' else '无效'end IsValid from tablename where ……Top
6 楼aaehy(乖狼)回复于 2005-07-02 13:09:39 得分 0
还有可以在datagrid绑定的时候做判断,
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
If e.Item.DataItem("DELE_FLAG").ToString() = "1" Then
e.Item.Cells(7).Text = "是"
Else
e.Item.Cells(7).Text = "否"
End If
End If
End Sub
Top
7 楼luckyTOTO(NULL)回复于 2005-07-02 13:13:33 得分 4
......................
myDataGrid.DataSource=MyData.GetDataSet(sql);
myDataGrid.DataBind();
foreach(DataGridItem myItem in myDataGrid.Items)
{
if(myItem.Cells[10].Text=="0")
{
myItem.Cells[10].Text="待审核";
}
if(myItem.Cells[10].Text=="1")
{
myItem.Cells[10].Text="已审核";
}
}
也可以在绑定datagrid之后进行操作Top
8 楼liyun919(大小姐(疼自己多一点,爱自己多一点,做自己的大小姐))回复于 2005-07-02 13:19:16 得分 0
ok,问题解决,谢谢大家,有你们真好:)。Top




