OVH Cloud OVH Cloud

Eval / Bind à customiser

2 réponses
Avatar
pascal1967
Dans une GridView j'utilise un TemplateField sur un champ Boolean.
Cela m'affiche True/False :
<ItemTemplate>
<asp:Label ID="Label1" runat="server"
Text='<%# Bind("Actif") %>'></asp:Label>
</ItemTemplate>

Comment tester la valeur de retour dans la balise serveur et afficher
Oui/Non à la place ?
Merci
PP

2 réponses

Avatar
fabrice
Bonjour,

la méthode suivante est appliquée à un datagrid, mais juste à l'adapter..


<asp:DataGrid id="DataGrid" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="Status">
<ItemTemplate>
<%#mafonction(bool.Parse(DataBinder.Eval(Container.DataItem,"Macolonne").ToString()))%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>


Protected Function mafonction(ByVal maValue boolean)
If maValue = true Then
mafonction= "Oui"
Else
mafonction= "Non"
End If
End Function

-------------------------------------
autre voie...


<asp:DataGrid id="DataGrid1" OnItemDataBound="ItemDB"
runat="server"></asp:DataGrid>

Protected Sub ItemDB(ByVal s As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs)

If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType =
ListItemType.AlternatingItem Then
Select Case Trim(e.Item.Cells(3).Text)
Case "Sales Representative"
e.Item.Cells(3).Text = "SR"
Case "Vice President, Sales"
e.Item.Cells(3).Text = "VP"
Case "Sales Manager"
e.Item.Cells(3).Text = "SM"
Case "Inside Sales Coordinator"
e.Item.Cells(3).Text = "ISC"
Case Else
e.Item.Cells(3).Text = e.Item.Cells(3).Text
End Select
end if
end sub


en espérant que cela puisse t'aider
fabrice.





"pascal1967" a écrit dans le message de news:

Dans une GridView j'utilise un TemplateField sur un champ Boolean.
Cela m'affiche True/False :
<ItemTemplate>
<asp:Label ID="Label1" runat="server"
Text='<%# Bind("Actif") %>'></asp:Label>
</ItemTemplate>

Comment tester la valeur de retour dans la balise serveur et afficher
Oui/Non à la place ?
Merci
PP






Avatar
pascal1967
Merci de cette réponse.
J'ai pour ma part trouvé l'événement RowDataBound d'un GridView:

protected void gwUtilisateurs_RowDataBound(object sender,
System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// Display first column in italics.
e.Row.Cells[0].Text = "<i>" + e.Row.Cells[1].Text + "</i>";

// Actif
if (e.Row.Cells[4].Text.Contains("True"))
e.Row.Cells[4].Text = "Oui";
if (e.Row.Cells[4].Text.Contains("False"))
e.Row.Cells[4].Text = "Non";
}
}

encore merci
pp