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
Deselezionare una colonna radiobutton su una gridview
mercoledì 02 aprile 2014 - 14.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 2.0
|
Windows XP
|
Visual Studio 2010
|
SQL Server 2008 R2
paolagumi
Profilo
| Junior Member
59
messaggi | Data Invio:
mer 2 apr 2014 - 14:03
Buongiorno a tutti,
ho una gridview con una colonna ItemTemplate che contiene un RadioButton.
Voglio selezionare solo 1 elemento, e ci sono riuscita.
Però non riesco a deselezionare un elemento selezionato in precedenza, se non selezionandoneun altro, in modo che si presenti la griglia pulita (cioè l'utente non abbia effettuato nessuna scelta).
Posto il codice di seguito:
<asp:GridView ID="GvSquadreDisponibiliData" allowpaging="true" autogeneratecolumns="false"
onrowcommand="GvSquadreDisponibiliData_RowCommand" runat="server" DataKeyNames="Area,OraInizio"
style="margin-top: 0px" >
<HeaderStyle CssClass="DataGridHeader" />
<RowStyle CssClass="DataGridItem" />
<PagerStyle CssClass="DataGridPager" />
<Columns>
<asp:TemplateField ItemStyle-Width="10" >
<ItemTemplate>
<asp:RadioButton ID="rbtIscriviti" runat="server" Text="" AutoPostBack="True"
OnCheckedChanged="rbtIscriviti_CheckedChanged" Width="20" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Area" HeaderText="Area" ItemStyle-Width="70" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="OraInizio" HeaderText="Ora Inizio" ItemStyle-Width="70" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="OraFine" HeaderText="Ora Fine" ItemStyle-Width="70" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Iscritto" />
<asp:TemplateField HeaderText="Assegnato" ItemStyle-Width="70" >
<ItemTemplate>
<asp:Image runat="server" ImageUrl="../../../immagini/Vero.gif" visible="false" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Questo è il code behind:
Protected Sub rbtIscriviti_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'deselect all radiobutton in gridview
deselezionaIscrizione_in_gv()
'attiva il rb su cui si è cliccato (checked)
Dim SenderRB As RadioButton = sender
SenderRB.Checked = True
End Sub
Sub deselezionaIscrizione_in_gv()
Dim gvr As GridViewRow
Dim i As Int32
'deselect all radiobutton in gridview
For Each gvr In GvSquadreDisponibiliData.Rows
Dim rb As RadioButton
rb = CType(GvSquadreDisponibiliData.Rows(i).FindControl("rbtIscriviti"), RadioButton)
If rb.Checked = True Then
Session.Item("Scelta") = i
End If
rb.Checked = False
i += 1
Next
End Sub
ciao a tutti,
Paola
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 12 mag 2014 - 18:55
>Buongiorno a tutti,
ciao
>ho una gridview con una colonna ItemTemplate che contiene un RadioButton.
>Voglio selezionare solo 1 elemento, e ci sono riuscita.
>Però non riesco a deselezionare un elemento selezionato in precedenza,
>se non selezionandoneun altro, in modo che si presenti la griglia
>pulita (cioè l'utente non abbia effettuato nessuna scelta).
questo perchè per natura il radio button può essere inizializzato per la prima scelta, ma poi non può essere annullato. Perchè la scelta tramite radio button DEVE essere obbligatoria e mutualmente esclusiva.
Forse il controllo che dovresti usare è una checked box list o qualcosa di simile. Non è una buona pratica deselezionare un radio button, tuttavia è possible, mettendo in js la proprietà checked come "undefined" (oppure usando jquery ed impostando la proprietà checked a false).
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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 !