Visualizzazione dei risultati da 1 a 6 su 6

Discussione: if in datagrid

  1. #1

    if in datagrid

    Ragazzi cosa sbaglio questo codice?
    codice:
       <asp:TemplateColumn HeaderStyle-Width="20%" HeaderText="Destinatario">  
          <ItemTemplate>
            <%# If Databinder.Eval(Container.Dataitem, "destinatario") = "1" Then %>
                    
            <asp:Label 
            ID="LblDestinatario" 
            Text="[img]images/entrata.gif[/img]" runat=server />
            
            <%# End If%>
            
        </ItemTemplate>
       
       </asp:TemplateColumn>
    In pratica vorrei mostrare una immagine differente a seconda se il valore del record è 1 oppure 2.

    Come devo fare per aggiustare il codice?
    Grazie

  2. #2
    ero venuto popo con l'idea di fare questa domanda anche io... ma in un repeater...
    qualcuno sa aiutarci?


  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    io userei una proprietà o funzione che faccia ciò,invece di mettere la if nel databinder.

  4. #4
    fai una funzione del genere
    codice:
    function asd( ByVal s as string )
    	if s = "1" then
    		return "[img]images/entrata.gif[/img]"
    	else
    		return ""
    	end if
    end function
    da richiamare con

    codice:
    <asp:TemplateColumn HeaderStyle-Width="20%" HeaderText="Destinatario">  
          <ItemTemplate>
            <%# asd(Databinder.Eval(Container.Dataitem, "destinatario")) %>
        </ItemTemplate>
    </asp:TemplateColumn>
    "...non è detto che sia tardi se non guardi che ora è..."

  5. #5
    Giusto!!
    Funziona perfettamente Raffa, ed è anche chiaro il concetto.
    Devo ancora abituarmi a ragionare in questo modo con .NET.
    Grazie mille!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Io eviterei l'inserimento di codice e condizioni all'interno della pagina .aspx, peraltro particolarmente lente (soprattutto quando si usa DataBinder.Eval).

    Meglio intercettare l'evento OnItemDataBound del controllo specifico e, tramite il "code behind", ottenere i riferimenti ai controlli desiderati e modificare "al volo" le proprietà in base alla condizione specifica del record corrente.

    In sostanza, cercherei di spostare la logica il più possibile all'esterno della pagina in quanto tale, concentrandola nel "code behind", cioè nella classe che ne definisce il comportamento e le caratteristiche.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.