asp.net 的datagid中绑定函数问题
asp.net中的dataGrid可以很方便的和数据库中的数据进行绑定然后显示。直接绑定的方式是 <%# DataBinder.Eval(Container.DataItem, "字段名")%
但假如我想对数据库中的数据做一些处理,例如解释成UBB代码。这个时候该怎么处理呢?比如我想在列里面显示用户的性别,但数据库中的数据是用bit数据类型来存储的,这个时候该怎么办呢?按照下面的绑定方法的话显示给用户的将是0或1。
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 156px; POSITION: absolute; TOP: 34px" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="性别">
<ItemTemplate>
<asp:Label id="Label1" runat="server" text='<%# container.dataitem("Sex")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
这个时候我们可用一个函数来实现,如下:
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 156px; POSITION: absolute; TOP: 34px" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="性别">
<ItemTemplate>
<asp:Label id="Label1" runat="server" text='<%# GetStatus(container.dataitem("Sex"))%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
在CODEBEHIND中定义一个函数如下:
Public String GetStatus(int sex){
If (sex=1)
Return "男";
Else
Return "女";
}