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...
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...
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!
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.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...
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
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>
...mi basterebbe poter accedere alla proprietà EditText dell'asp:EditCommandColumn per visualizzare o meno l'immagine, ma sigh non riesco ad arrivarci....
![]()
![]()
Puoi far diventare l'Edit column una template column!
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:<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>
Fammi saperecodice:Public Function CheckMe(ByVal val As String) As Boolean If CInt(val) Mod 2 Then Return True Else Return False End If End Function
Ciao
K
Kalman
....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!!