Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [4.0] Button GridView

  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    [ASP.NET4] Button GridView

    Caio a tutti sono incastrato su una cosa e non riesco a capire dove sbaglio.

    Sto cencando di legare la gridview ad un bottone personalizzato ma purtroppo la funzione non mi risponde... cioè nn mi stampa quella riga prrrrrr perchè? grazie a tt ecco il code
    codice:
    <%@ Page Language="VB" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    
    <script runat="server">   
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            If FileUpload1.HasFile Then
                Try
                    'FileUpload1.SaveAs("D:\APPLICATIONS\INTRANET-3P\upload\" & Request("CodAss") & "-" & FileUpload1.FileName)
                    Dim DirSave As String
                    DirSave = "D:\APPLICATIONS\INTRANET-3P - TEST\"
                    FileUpload1.SaveAs(DirSave & "upload\" & Request("CodAss") & "-" & FileUpload1.FileName)
                   
                    Label1.Text = "Upload Effettuato"
                    
                    Dim dbconn, sql, dbcomm
                    dbconn = New OleDbConnection("Provider=SQLOLEDB;Data Source=SERVER-AP;Initial Catalog=3P-TEST;User Id=sa;Password=Password1;")
                    dbconn.Open()
                    sql = "INSERT INTO allegati (all_codass, all_descrizione, all_dirallegato) VALUES ('" & Request("CodAss") & "', '" & Request("Descrizione") & "', 'upload/" & Request("CodAss") & "-" & FileUpload1.FileName & "')"
                    dbcomm = New OleDbCommand(sql, dbconn)
    
                    dbcomm.ExecuteNonQuery()
                    dbconn.Close()
    
                    GridView1.DataBind()
                    
                Catch ex As Exception
                    Label1.Text = "ERROR: " & ex.Message.ToString()
                End Try
            Else
                Label1.Text = "Non hai specificato un file."
            End If
            
        End Sub
        
        Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
            Response.Write("prrrrr")
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
        <title>Upload Files</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div style="height: 137px">
                
                <asp:FileUpload ID="FileUpload1" runat="server" style="width:217px;" /> 
                <span style="margin-left:50px;">Descrizione : <input type="text" runat="server" id="Descrizione"></span>
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Upload File" height="22px" style="" width="85px" />
    
                <asp:Label ID="Label1" runat="server"></asp:Label>
                
    
                
    
    
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:3PConnection %>"                 
                    SelectCommand="SELECT [all_codass], [all_descrizione], [all_dirallegato] FROM [allegati] WHERE ([all_codass] = @all_codass)">
                    <SelectParameters>
                        <asp:QueryStringParameter Name="all_codass" QueryStringField="CodAss" Type="Int32" />
                    </SelectParameters>
                </asp:SqlDataSource>
    
                <asp:GridView ID="GridView1" name="GridView1" runat="server" AutoGenerateColumns="False" 
                    CellPadding="4" DataSourceID="SqlDataSource1" EnableModelValidation="True" 
                    ForeColor="#333333" GridLines="None">
                    <AlternatingRowStyle BackColor="White" />
                    <Columns>
                        <asp:BoundField DataField="all_descrizione" HeaderText="Descrizione Allegato" SortExpression="all_codass" />
                        <asp:BoundField DataField="all_dirallegato" HeaderText="Percorso" SortExpression="all_dirallegato" />
                        <asp:TemplateField>
                          <ItemTemplate>
                            <asp:Button ID="Delete" runat="server" CommandName="Del" Text="Delete" />
                          </ItemTemplate> 
                        </asp:TemplateField>
                    </Columns>
                    <EditRowStyle BackColor="#2461BF" />
                    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                    <RowStyle BackColor="#EFF3FB" />
                    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                </asp:GridView>
    
            </div>
        </form>
    
    </body>
    </html>
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    OK... ora dovreste anche spiegarmi come potervi portare il codice in modo umano... nn riesco
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    scusa, ma non si è capito cosa devi fare
    Edit: ah, ok. ho capito. non entra nel RowCommand.


    Il problema è la clasola handles nella firma del metodo, aggiungila

  4. #4
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ok ho provato ad aggiungerlo in questo modo

    codice:
        
    Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles Button2.Click
    Response.Write("prrrrr")     
    End Sub
    E mi ha dato questo errore e non riesco a capire dove devo dichiararla

    Handles clause requires a WithEvents variable defined in the containing type or one of its base types.
    Che mestiere difficile.....essere da soli ancora di più

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Dal file code-behind (il file .vb) in visual studio, se usi le due liste in alto puoi scegliere l'oggetto (Gridview1) e l'evento da far scrivere a Visual Studio (.RowCommand)

    codice:
        Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
                Response.Write("Hai cliccato il bottone")
        End Sub

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Per recuperare la riga ed i suoi dati:

    codice:
       Dim gvr As System.Web.UI.WebControls.GridViewRow
       gvr = GridView1.Rows.Item(GridView1.SelectedIndex)
    
       Dim a As String = gvr.Cells(0).Text

  7. #7
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ok chiarissimo, grazie mille........

    P.s. Per tua sfortuna ho iniziato a studiare .net e iniziarò a inondare di domande stupide il forum (come a suo tempo ho fatto con il forum di asp fino a che non ho iniziato a camminare con le mie gambe)

    Prima di integrare il il "bottone personalizzato" avevo predisposto la funzionalità dei gridview per il delete command e tutto funzionava alla perfezione.
    E' sorta però la necessità di cancellare anche un file con la delete e percui avevo pensato di fare una funzione proprietaria dove esequivo sql delete e la cancellazione del file... è la strada giusta?

    P.P.S. Altra domanda stupida....

    Nel caso fosse giusta come posso recuperare il id del mio record?
    Venendo dall'ambito procedurale avre passato id con il click del bottone ma qui come posso fare?
    Che mestiere difficile.....essere da soli ancora di più

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    La GridView ha una proprietà fatta apposta, DataKeyNames:

    codice:
    <asp:GridView DataKeyNames="ID"

    e lo recuperi con:

    codice:
       Dim id As Integer = Cint(GridView1.SelectedDataKey(0))
    http://msdn.microsoft.com/en-us/libr...eddatakey.aspx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.