Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154

    formattazione condizionale datagrid

    Ciao a tutti.
    Ho un dg editable e vorrei che a seconda del valore presente in un campo della riga la stessa sia editabile o meno...

    lo so che è lunedi....ma abbiate pietà, non mi viene in mente nulla...

  2. #2
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    Forse sono stato poco chiaro...
    Ho un dg, vorrei che fare in modo che alcuni record siano editabili ed altri no, a seconda del valore che trovo nel campo a fianco...

    In asp + semplicemente nel ciclo del recordset avrei controllato il valore del campo e quindi avrei scritto o meno l'href o il pulsante che sia....

    e qui???

    Sono certo che sia possibile,ma mi manca la logica per arrivarci; nessun suggerimento??

    Grazie....e ciau!

  3. #3
    Originariamente inviato da tyson69
    Ho un dg, vorrei che fare in modo che alcuni record siano editabili ed altri no, a seconda del valore che trovo nel campo a fianco...
    visto che si tratta di verificare una certa condizione sulla base dei dati contenuti in un campo forse l'evento ItemDataBound della datagrid e' quello che fa per te. In questo evento, che avviene subito dopo che la riga e' stata collegata con la fonte dati e prima di visualizzarla, puoi gestire ad es. il colore di sfondo ma puoi anche disattivare e rendere invisibile un pulsante. Oltre all'evento itemdatabound un altro evento utile (che avviene prima) puo' essere itemcreated.
    es. itemdatabound
    codice:
    Public Sub DgDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound
            Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    ' .... codice 
            End Select
        End Sub
    Saluti a tutti
    Riccardo

  4. #4
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    Ti ringrazio per la risposta peraltro molto chiara, ma per me di non facile applicabilità...
    se dovessi verificare i valori "si/no" del campo note dovrei accedere all'id del campo note...sarebbe meglio utilizzare un'asp:Label a questo punto??
    Della serie....poche idee....molto confuse!

    codice:
    Public Sub DgDataBound(...) Handles dg.ItemDataBound
     Select Case e.Item.ItemType
       Case ListItemType.Item, ListItemType.AlternatingItem
                    ????
     End Select
    End Sub
    
    ...
    
    <Columns>			
     <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Aggiorna" EditText="<IMG SRC=img/Edit.gif Border=0 >"..></asp:EditCommandColumn>
    ...								
    <asp:BoundColumn HeaderText="note" DataField="note" ReadOnly="True"/>
    </Columns>

  5. #5
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    ...mi basterebbe poter accedere alla proprietà EditText dell'asp:EditCommandColumn per visualizzare o meno l'immagine, ma sigh non riesco ad arrivarci....


  6. #6
    Puoi far diventare l'Edit column una template column!

    codice:
    <asp:DataGrid id="DataGrid1" runat="server">
    	<Columns>
    		<asp:TemplateColumn>
    			<ItemTemplate>
    				<asp:LinkButton runat="server" Text="Edit" CommandName="Edit" CausesValidation="false" Visible=<%# CheckMe(DataBinder.Eval(Container.DataItem, "NomeCampoDaTestare"))%>></asp:LinkButton>
    			</ItemTemplate>
    			<EditItemTemplate>
    				<asp:LinkButton runat="server" Text="Update" CommandName="Update"></asp:LinkButton>
    				<asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel" CausesValidation="false"></asp:LinkButton>
    			</EditItemTemplate>
    		</asp:TemplateColumn>
    	</Columns>
    </asp:DataGrid>
    Nel CodeBehind devi mettere la funzione che testa il tuo valore e torna un boolean (la mia conrtrolla se il numero è pari o dispari)

    codice:
    Public Function CheckMe(ByVal val As String) As Boolean
      If CInt(val) Mod 2 Then
        Return True
      Else
        Return False
      End If
    End Function
    Fammi sapere
    Ciao
    K
    Kalman

  7. #7
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    ....semplice ma efficacissimo....

    l'ho solo riadattato con un' ImageButton e rivisto la function!

    A volte uno si fossilizza su un'idea e non ne esce +...grazie, ti devo una bevuta!!

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.