J'ai un GridView son DataSource est à partir d'une table de base de données. Je veux afficher différents textes dans les lignes selon les valeurs de la base de données. Ici, pour la colonne Facturé Pour, si le champ BILLING_DTLS_STATUS
a la valeur 1, il doit afficher "NORTH COUNTER", a la valeur 2, il devrait afficher "SOUTH COUNTER" et a la valeur 3, il devrait afficher "MAIN COUNTER".définir le texte des lignes GridView correspondant aux valeurs des champs DataTable
Aussi j'ai un bouton btnBilled
, si le champ BILL_STATUS
a la valeur 1 le texte du bouton devrait être "DISABLE" et si 0 le texte devrait avoir "ENABLE".
<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>
J'ai initally changé la valeur de BILLING_DTLS_STATUS
puis rempli GridView, mais je pense que cette approche est incorrecte. Aussi, comment puis-je définir le texte du bouton selon la valeur du champ BILL_STATUS
.
public void Get_Billing_Type()
{
try
{
DataTable dt = new DAL_Set_Billing_Type().Get_Billing_Type();
foreach (DataRow row in dt.Rows)
{
switch(row[0].ToString())
{
case "1":
{
row["BILLING_DTLS_STATUS"] = "NORTH COUNTER";
break;
}
case "2":
{
row["BILLING_DTLS_STATUS"] = "SOUTH COUNTER";
break;
}
case "3":
{
row["BILLING_DTLS_STATUS"] = "MAIN COUNTER";
break;
}
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception) { }
}