C# 设置与DataTable字段值对应的GridView行的文本
我有一个GridView,它的数据源来自一个数据库表。我想根据数据库值在行中显示不同的文本。 这里,对于计费列,如果字段BILLING_DTLS_STATUS的值为1,则应显示NORTH COUNTER,值为2,则应显示SOUTH COUNTER,值为3,则应显示MAIN COUNTER 此外,我还有一个按钮btnBilled,如果字段BILL_STATUS的值为1,则按钮文本应为DISABLE,如果为0,则文本应为ENABLEC# 设置与DataTable字段值对应的GridView行的文本,c#,asp.net,gridview,datatable,C#,Asp.net,Gridview,Datatable,我有一个GridView,它的数据源来自一个数据库表。我想根据数据库值在行中显示不同的文本。 这里,对于计费列,如果字段BILLING_DTLS_STATUS的值为1,则应显示NORTH COUNTER,值为2,则应显示SOUTH COUNTER,值为3,则应显示MAIN COUNTER 此外,我还有一个按钮btnBilled,如果字段BILL_STATUS的值为1,则按钮文本应为DISABLE,如果为0,则文本应为ENABLE <asp:GridView ID="GridView1"
<asp:GridView ID="GridView1"
runat="server"
AutoGenerateColumns="False"
OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="S No." ItemStyle-Width="15%" >
<ItemTemplate>
<%#Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField
DataField="BILLING_DTLS_STATUS"
HeaderText="Billed For">
<ItemStyle VerticalAlign="Top" />
</asp:BoundField>
<asp:BoundField DataField="BILLING_SUB_TYPE"
HeaderText="Billing Type">
<ItemStyle VerticalAlign="Top" />
</asp:BoundField>
<asp:BoundField DataField="BILLIG_AMT"
HeaderText="Billing Amount">
<ItemStyle VerticalAlign="Top" />
</asp:BoundField>
<asp:TemplateField HeaderText="STATUS">
<ItemTemplate >
<asp:Button ID="btnBilled" Text="" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我的两分钱:-
如果只有两个值,可以使用三元运算符。
另外,我更喜欢将显示文本从数据库查询更改为客户端
它自己,林克
为什么不创建一个基于计费DTLS状态返回正确类型的方法 然后在GridView中可以获得正确的值
<asp:TemplateField HeaderText="Billing Status">
<ItemTemplate>
<%# Get_Billing_Type(Convert.ToInt32(Eval("BILLING_DTLS_STATUS"))) %>
</ItemTemplate>
</asp:TemplateField>
对于只有2个选项的按钮,可以使用三元运算符。您还可以使用上面提到的相同技术并为其创建一个方法
<asp:TemplateField HeaderText="Billing Status">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text='<%# Convert.ToBoolean(Eval("BILL_STATUS")) ? "DISABLE" : "ENABLE" %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Billing Status">
<ItemTemplate>
<%# Get_Billing_Type(Convert.ToInt32(Eval("BILLING_DTLS_STATUS"))) %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Billing Status">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text='<%# Convert.ToBoolean(Eval("BILL_STATUS")) ? "DISABLE" : "ENABLE" %>' />
</ItemTemplate>
</asp:TemplateField>