|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
[ASP.NET]Evento della DataGrid non viene gestito
è da ieri ke mi sto inkasinando con questo problema......
ho una datagrid collegata regolarmente ad una data source con due colonne ButtonColumn e con varie TemplateColumn, una di queste ultime contiene un checkbox. Il problema è ke se utilizzo i pulsanti nelle ButtonColumn l'evento viene catturato e gestito correttamente dall'apposita subroutine, mentre se utilizzo il checkbox, l'evento ItemCommand non viene catturato....... qui di seguito vi riporto il codice della DataGrid: Codice:
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataMember="Table" AllowSorting="True" DataKeyField="ID" CellSpacing="1" GridLines="None" CellPadding="3" BackColor="White" ForeColor="Black" EnableViewState="false" DataSource="<%# SqlFilm %>"> <ItemStyle verticalalign="Top" backcolor="#DEDFDE"></ItemStyle> <HeaderStyle font-bold="True" horizontalalign="Center" forecolor="White" backcolor="#4A3C8C"></HeaderStyle> <Columns> <asp:ButtonColumn Text="Modifica" ButtonType="PushButton" CommandName="Modifica"></asp:ButtonColumn> <asp:ButtonColumn Text="Elimina" ButtonType="PushButton" CommandName="Elimina"></asp:ButtonColumn> <asp:BoundColumn DataField="ID" SortExpression="ID" HeaderText="ID"></asp:BoundColumn> <asp:BoundColumn DataField="Titolo" SortExpression="Titolo" HeaderText="Titolo"></asp:BoundColumn> <asp:TemplateColumn HeaderText="In Sala"> <ItemTemplate> <asp:CheckBox id="CheckBox1" runat="server" autoPostBack="true" checked='<%# CheckInSala(Container)%>' ></asp:CheckBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Locandina"> <ItemTemplate> <asp:Image Width="120" ImageUrl='<%# "readImage.aspx?id="&DataBinder.Eval(Container.DataItem, "ID") %>' Runat="server" /> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Recensione"> <ItemTemplate> <%# Truncate(DataBinder.Eval(Container.DataItem, "Recensione").ToString(),120) %> </ItemTemplate> </asp:TemplateColumn> <asp:BoundColumn DataField="Distribuzione" SortExpression="Distribuzione" HeaderText="Distribuzione"></asp:BoundColumn> <asp:BoundColumn DataField="Durata" SortExpression="Durata" HeaderText="Durata"></asp:BoundColumn> <asp:BoundColumn DataField="Regia" SortExpression="Regia" HeaderText="Regia"></asp:BoundColumn> <asp:TemplateColumn HeaderText="Attori"> <ItemTemplate> <%# Truncate(DataBinder.Eval(Container.DataItem, "Attori").ToString(),100) %> </ItemTemplate> </asp:TemplateColumn> <asp:BoundColumn DataField="Genere" SortExpression="Genere" HeaderText="Genere"></asp:BoundColumn> <asp:BoundColumn DataField="URL" SortExpression="URL" HeaderText="URL"></asp:BoundColumn> <asp:BoundColumn DataField="DataInizio" SortExpression="DataInizio" HeaderText="DataInizio" DataFormatString="{0:dd/MM/yyyy}"></asp:BoundColumn> <asp:BoundColumn DataField="DataFine" SortExpression="DataFine" HeaderText="DataFine" DataFormatString="{0:dd/MM/yyyy}"></asp:BoundColumn> </Columns> </asp:datagrid> e questo invece è il codice ASP.NET relativo alla routine di gestione: Codice:
Private Sub DataGrid1_ItemCommand(ByVal source As Object, _ ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Dim result As Integer Dim filmID As String msgbox("NOOOOOOO") filmID = e.Item.Cells(2).Text Dim check As CheckBox = e.Item.FindControl("CheckBox1") if e.CommandSource Is check msgbox("ERA ORA!") else If e.CommandName = "Modifica" Then Response.Redirect("ModificaFilm.aspx?ID="+filmID) else if e.CommandName = "Elimina" Then result=msgbox("Sei sicuro di voler Eliminare "+CHR(34)+e.Item.Cells(3).text+CHR(34)+"?", vbYesNo, "Avviso") if result = 6 Dim ConnectionString As String = ************************** Dim myConnection As New SqlConnection(ConnectionString) Dim CommandText As String="SELECT Locandina FROM Film WHERE ID="+filmId Dim myCommand As New SqlCommand(CommandText, myConnection) Dim reader As SqlDataReader myConnection.Open() myCommand.CommandText=CommandText reader=myCommand.ExecuteReader() reader.Read() Dim strDelete As String = Server.MapPath("/image/film_proiettati/"+reader.GetString(0)) File.Delete(strDelete) reader.Close() CommandText = "DELETE FROM Film WHERE ID="+filmID myCommand.CommandText=CommandText myCommand.ExecuteNonQuery() myConnection.Close() DisplayGrid() End if End If End Sub AddHandler DataGrid1.ItemCommand, AddressOf DataGrid1_ItemCommand Avete qualke idea del motivo x cui l'evento di cambiamento del checkbox appartenente alla colonna Template non viene gestito???????????
__________________
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
nessuno ha qualke idea????
![]()
__________________
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:53.