Leggere le righe di una gridview in cui si è modificato lo stato di un...

venerdì 20 aprile 2018 - 09.32
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010

paolagumi Profilo | Junior Member

Buongiorno,

sto sviluppando in visual studio 2010, in vb.

Ho una gridview che contiene una colonna con un checkbox (itemtemplate).

Seleziono/deseleziono il checkbox su alcune righe, ma non su tutte,

poi clicco su un pulsante di conferma a fondo pagina
e a quel punto vorrei poter leggere solo le righe della gridview sulle quali ho modificato lo stato del checkbox da checked a unchecked e viceversa,
anzichè scorrere tutta la gridview.
Ho letto qualcosa sulle proprietà autopostback e causesvalidation dell'asp:checkbox, ma non ci ho capito granchè...

Ecco la gridview:

<asp:GridView ID="GvNote" allowpaging="true" autogeneratecolumns="false"
runat="server" DataKeyNames="IdCedola,Matricola,DataOraInizio"
PageSize="30">
<HeaderStyle CssClass="DataGridHeader" />
<RowStyle CssClass="DataGridItem" />
<PagerSettings PageButtonCount="50" />
<PagerStyle CssClass="DataGridPager" />
<Columns>

<asp:BoundField DataField="Matricola" HeaderText="Matricola" ItemStyle-Wrap="False" >
<ItemStyle Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Nominativo" HeaderText="Cognome e Nome" ItemStyle-Wrap="False" >
<ItemStyle Wrap="False" />
</asp:BoundField>

<asp:BoundField DataField="DataOraInizio" HeaderText="Data e Ora Inizio"
ItemStyle-Wrap="False" FooterStyle-Wrap="False" >
<FooterStyle Wrap="False" />
<ItemStyle Wrap="False" />
</asp:BoundField>

<asp:BoundField DataField="DataOraFine" HeaderText="Data e Ora Fine"
ItemStyle-Wrap="False" >
<ItemStyle Wrap="False" />
</asp:BoundField>

<asp:BoundField DataField="CodiceNota" HeaderText="Codice Nota" />
<asp:BoundField DataField="TestoNota" HeaderText="Testo Nota" />

<asp:TemplateField HeaderText ="Autorizzata" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:CheckBox runat="server" id="chkAutorizzata" AutoPostBack="True" ></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>

..... altre colonne........

</Columns>
</asp:GridView>

questo è il code behind:

Dim Autorizzata As CheckBox
For Each row As GridViewRow In GvNote.Rows
Autorizzata = row.Cells(6).FindControl("chkAutorizzata")
Dim IdCedola As Int32 = GvNote.DataKeys(row.RowIndex).Values("IdCedola")
Dim Matricola As Int32 = GvNote.DataKeys(row.RowIndex).Values("Matricola")
Dim DataOraInizio As DateTime = GvNote.DataKeys(row.RowIndex).Values("DataOraInizio")
If Autorizzata.Checked Then
mcDataLayer.AutorizzaNotaMancataVerifica(IdCedola, Matricola, DataOraInizio, "1", lblErrore)
Else
mcDataLayer.AutorizzaNotaMancataVerifica(IdCedola, Matricola, DataOraInizio, "0", lblErrore)
End If
Next
Autorizzata = Nothing

Qualcuno mi può aiutare?


ciao e grazie,

Paola
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5