Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
CommandField in una GridView: Modificare ShowEditButton da codice vb.n...
venerdì 22 maggio 2015 - 13.13
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Windows XP
|
Visual Studio 2010
|
SQL Server 2008 R2
|
VBScript
paolagumi
Profilo
| Junior Member
59
messaggi | Data Invio:
ven 22 mag 2015 - 13:13
Buongiorno,
ho una gridview con impostato un CommandField per editare ogni riga.
Non voglio però che tutte le righe siano editabili, e su quelle non editabili voglio che scompaia l'immagine su cui si clicca per editarla.
Da codice vb, scorro la gridview e imposto la proprietà Enabled della la cella a False, questo funziona: il bottone non è più cliccabile. Ma non riesco a far sparire l'EditImageUrl!
Avrei pensato di impostare, nel codice vb quando scorro la gridview, la proprietà ShowEditButton del commandfield a False oppure un percorso a un'immagine vuota sulla proprietà EditImageUrl.
Non ci riesco! Pefchè la gridview "sente" le celle e non il fatto (mi sembra) che siano dei commandfield, quindi impostarne proprietà specifiche. Ho provato anche con GvMia.Rows(idx).Cells(c),Attributes("ShowEditButton=.....oppure EditImageurl=...) ma non funzionano.
Come posso fare?
Questo è il mio commandfield:
<asp:GridView ID="GvMia" allowpaging="true" autogeneratecolumns="false" runat="server" OnRowEditing="GvMia_RowEditing" OnRowCancelingEdit="GvMiai_RowCancelingEdit" OnRowUpdating="GvMiaPersonali_RowUpdating" >
<HeaderStyle CssClass="DataGridHeaderBlu" />
<RowStyle CssClass="DataGridItem" />
<PagerStyle CssClass="DataGridPager" />
<Pagersettings pagebuttoncount="50" />
<Columns>
<asp:CommandField ShowEditButton="True" ButtonType="Image" EditImageUrl="~/immagini/Modifica.gif" updateimageurl="~/immagini/Salvataggio.gif" UpdateText="Salva Modifiche" cancelimageurl="~/immagini/Annullamento.gif" CancelText="Annulla modifiche" HeaderText="Modifica Visibilità" ItemStyle-Width="200" ItemStyle-HorizontalAlign="Center" />
Poi da codice scorro la gridview così:
For idx As Int32 = 0 To GvMia.Rows.Count - 1
If GvMia.Rows(idx).Cells(3).Text = "D" Then
GvMia.Rows(idx).Cells(0).Enabled = False ---> Funziona, è disabilitato
GvMia.Rows(idx).Cells(0).Attributes("ShowEditButton") = "False" --> non funziona!!!
End If
Next
ho provato anche questo:
MiaGridViewRow.Attributes.Add("ShowEditButton", "this.src='False'")
MiaGridViewRow.Attributes.Add("EditImageUrl", "this.src='~/immagini/Vuoto.gif'")
Non voglio usare:
GvMia.Rows(idx).Cells(0).Visible = False
perchè questo sulla riga interessata mi sposta a sinistra le colonne successive...bruttissimo!
Grazie,
Paola
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
ven 22 mag 2015 - 14:12
invece di usare <asp:CommandField usa una colonna personalizzata e infilaci dentro dei button (o altro tipo di controlli) che funzioneranno da controlli-comandi personalizzati...
Andrea Restucci - Web Developer
paolagumi
Profilo
| Junior Member
59
messaggi | Data Invio:
lun 25 mag 2015 - 08:29
eh infatti avevo visto che c'era questa soluzione..con gli itemtemplate.
Alla fine...ci sono riuscita così. Nello scorrere la mia gridview per impostare il bottone a Enabled=False che funziona, ho aggiunto questo:
Dim lb As ImageButton = GvMia.Rows(idx).Cells(0).Controls(0)
lb.ImageUrl = "~/immagini/Vuoto.gif"
Il tutto diventa diventa così:
For idx As Int32 = 0 To GvMia.Rows.Count - 1
If GvMia.Rows(idx).Cells(3).Text = "D" Then
GvMia.Rows(idx).Cells(0).Enabled = False
Dim lb As ImageButton = GvMia.Rows(idx).Cells(0).Controls(0)
lb.ImageUrl = "~/immagini/Vuoto.gif"
End If
Next
Se può essere utile a qualcuno!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !