Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
vendredi 9 mai 2008 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 



Vous êtes ici : Articles ASP.NET > TRUCS ET ASTUCES

Utiliser un IF au sein d'un GridView
Voici une méthode permettant d'utiliser des conditions sur un champ issu d'une table d'une base de données et d'afficher différents résultats au sein de la section <asp:templatefield> d'un Gridview.


ABONNEZ-VOUS GRATUITEMENT A LA REVUE DE PRESSE "LES Z'ACTUS" ET RECEVEZ CHAQUE JOUR DANS VOTRE BOITE AUX LETTRES LA MEILLEURE INFORMATION DEDIEE AUX WEBMASTERS / DEVELOPPEURS.

Indiquez votre adresse E-mail :

Technologie : ASP.NET 2.0 
Date : 01/06/2006   
Auteur : ASP MAGAZINE

Vous utilisez une zone <asp:templatefield> dans un Gridview pour le personnaliser.

Votre problème : utiliser une condition sur un champ de la table associée au Gridview.

Par exemple :

Dans votre table vous avez un champ etat qui indique numériquement l'état d'une commande.

etat = 0 - Commande en cours
etat= 1 - Commande Envoyée
etat= 2 - Commande Annulée

Vous souhaiteriez afficher à un endroit de votre Gridview une indication sur la commande affichée.

Supposons, que vous ayez un champ label qui assure l'affichage de cette donnée.

Vous ne pouvez pas faire quelque chose du genre :

<% if (DataBinder.Eval(Container, "DataItem.etat") =0 then %>
<asp:Label id ="encours" runat="server" text="Commande en cours"></asp:label>
<% else %>
....
<% end if%>

La solution consiste simplement à créer en codeBehind (dans la page aspx.vb associée à notre page en VB) une fonction qui va se charger de faire le test pour nous, et renvoyer la valeur que nous souhaitons.

La fonction :

Protected Function affiche_etat_commande(ByVal text) As String
 Dim stext As String = ""
 select case text
    case 0
    stext = "<font color=""Gray"">Commande en cours</font>"
    case 1
    stext = "<font color=""Green"">Commande envoyé</font>"
    case 2
    stext = "<font color=""Red"">Commande annulée</font>"
 end select
 Return stext
End Function

Il suffit ensuite de créer un controle <label> dans notre la zone templatefield du Gridview :

<asp:Label ID="etat" runat="server" Text='<%# affiche_etat_commande(DataBinder.Eval(Container, "DataItem.etat"))%>'></asp:Label>

 



Project Hoshimi


A RETENIR CETTE SEMAINE
09/05/2008 - Windows XP SP3 de nouveau publié chez Microsoft
Après avoir été retiré des serveurs Microsoft quelques heures après sa publication, le Service Pack ...
09/05/2008 - Creer une collection de photos DeepZoom et la deposer en ligne
Depuis quelques mois, je parle régulièrement sur ce blog de DeepZoom, technologie Silverlight 2. Cel ...
07/05/2008 - A la découverte de BizTalk Server 2006 3/3
Après avoir vu dans le premier article comment développer un désassembleur Biztalk, le second nous a ...
07/05/2008 - Conférence Microsoft : Nouveautés de Visual C++ 2008
Ce document est un compte rendu d'une conférence organisée le 23/04/2008 par Microsoft dans le cadre ...
07/05/2008 - SmartFlow, un PhotoShop Live ?
Microsoft vient d'embaucher un des développeurs les plus célèbres de l'outil PhotoShop : Mark Hambur ...
07/05/2008 - Tout ce dont vous avez besoin pour développer en Silverlight
Runtime, outils, SDK. Retrouvez tout ce dont vous avez besoin pour développer en Silverlight 1 ou Si ...
06/05/2008 - Chapitre III : Sync Services for ADO.NET et WCF
L'objectif de cet article consiste à lier une application déconnectée (supposons un laptop sans conn ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade