Visualizzazione dei risultati da 1 a 3 su 3

Discussione: datagri e textbox

  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    datagri e textbox

    Ciao a tutti,
    io ho un data grid che carico tramite una ricerca. Ora nel DataGrid ho una textbox e un checkbox che sono modificabili.

    Riesco a recuperare il valore della check ma non quello della textbox. Dove sbaglio?

    codice:
    <asp:DataGrid ID="dtgIncassi" runat="server" Width="100%" BorderColor="#E7E7FF" BorderStyle="None"
                                            BackColor="White" CellPadding="3" CellSpacing="1" GridLines="Horizontal" BorderWidth="0px" ForeColor="Black" AutoGenerateColumns="False" DataKeyField="id_incasso">
                                            <AlternatingItemStyle BackColor="#D7F19D" Font-Bold="True" Font-Size="8pt"></AlternatingItemStyle>
                                            <ItemStyle BackColor="#E9E9E9" Font-Bold="True" Font-Size="8pt"></ItemStyle>
                                            <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="DimGray" Font-Size="8pt">
                                            </HeaderStyle>
                                            <PagerStyle Mode="NumericPages" HorizontalAlign="Center" CssClass="testo6" Height="20px"
                                                Font-Size="8pt" BackColor="#E9E9E9" Font-Bold="True"></PagerStyle>
                                            <Columns>
                                                <asp:BoundColumn DataField="a.id_venduto" HeaderText="Codice Vendita"></asp:BoundColumn>
                                                <asp:BoundColumn DataField="ragione_sociale" HeaderText="Fornitore"></asp:BoundColumn>
                                                <asp:BoundColumn DataField="data_vendita" HeaderText="Data Vendita" DataFormatString="{0:dd/MM/yyyy}"></asp:BoundColumn>
                                                <asp:BoundColumn DataField="servizio" HeaderText="Servizio" DataFormatString="{0:F}">
                                                    <ItemStyle Width="100px" />
                                                </asp:BoundColumn>
                                                <asp:BoundColumn DataField="nomeCognome" HeaderText="Collaboratore">
                                                    <ItemStyle Width="100px" />
                                                </asp:BoundColumn>
                                                <asp:BoundColumn DataField="provv_azienda" HeaderText="Provv. A">
                                                    <ItemStyle Width="60px" />
                                                </asp:BoundColumn>
                                                <asp:BoundColumn DataField="provv_azienda_p" HeaderText="Provv. A %">
                                                    <ItemStyle Width="60px" />
                                                </asp:BoundColumn>
                                                <asp:TemplateColumn HeaderText="Rif. Documento">
                                                    <ItemTemplate>
                                                        <asp:TextBox ID="cbxDocumento" Visible="true" runat="server" CssClass="input" >
                                                        </asp:TextBox>
                                                    </ItemTemplate>
                                                </asp:TemplateColumn>
                                                <asp:TemplateColumn HeaderText="Incasso F.">
                                                    <ItemTemplate>
                                                        <asp:CheckBox ID="cbxIncassato" Visible="true" runat="server" Checked='<%# iif(Container.DataItem("incassato")=True,True,False) %>'>
                                                        </asp:CheckBox>
                                                        <asp:Label ID="id_incasso" Visible="false" runat="server" Text='<%# Container.DataItem("id_incasso") %>'></asp:Label>
                                                    </ItemTemplate>
                                                </asp:TemplateColumn>
                                                <asp:TemplateColumn HeaderText="Paga D." Visible=false>
                                                    <ItemTemplate>
                                                        <asp:CheckBox ID="cbxPagato" Visible="true" runat="server" Checked='<%# iif(Container.DataItem("pagato")=True,True,False) %>'>
                                                        </asp:CheckBox>
                                                        
                                                        <asp:Label ID="id_venduto" Visible="false" runat="server" Text='<%# Container.DataItem("a.id_venduto") %>'></asp:Label>
                                                    </ItemTemplate>
                                                </asp:TemplateColumn>
                                            </Columns>
                                        </asp:DataGrid>
    Ecco il VB
    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
            If Not IsPostBack Then
                BindData()
                fill_fornitori()
                Enable_Disable_Panel("Disable")
            End If
    
    
    
        End Sub
        Sub fill_fornitori()
    
            Dim sql As String
            sql = "SELECT  id_fornitore, ragione_sociale FROM fornitori "
    
            Dim MyConnection As New OleDbConnection(connetti)
            Dim MyCommand As New OleDbCommand(sql, MyConnection)
            Dim myDataSet As New System.Data.DataSet
            Dim myDataAdapter As OleDbDataAdapter
            myDataAdapter = New OleDbDataAdapter(MyCommand)
            myDataAdapter.Fill(myDataSet, "result")
    
            If myDataSet.Tables("result").Rows.Count > 0 Then
                fornitore.DataSource = myDataSet.Tables("result")
                fornitore.DataBind()
    
            Else
                fornitore.ClearSelection()
                fornitore.Items.Add("Non Disponibile")
            End If
            fornitore.Items.Add("Tutti")
            fornitore.Items.FindByValue("Tutti").Selected = True
        End Sub
    
    
    
    
        Function BindData(Optional ByVal id_fornitore As String = "", Optional ByVal id_servizio As String = "", Optional ByVal id_dipendente As String = "")
    
            Dim myDataSet As New System.Data.DataSet
            Dim MyConnection As OleDbConnection
            MyConnection = New OleDbConnection(connetti())
            Dim myoledbDataAdapter As OleDbDataAdapter
            Dim sql As String
    
    
            If id_fornitore = "Non Disponibile" Or id_fornitore = "Tutti" Then id_fornitore = ""
         
            Dim filtro_fornitore As String
            filtro_fornitore = " AND fornitori.id_fornitore = " + id_fornitore
       
            If id_fornitore = "" Then filtro_fornitore = ""
    
            sql = "SELECT * FROM (SELECT fornitori.ragione_sociale,fornitori.id_fornitore,servizi.servizio,servizi.servizio,servizi.provv_azienda,servizi.provv_azienda_p, ( dipendenti.nome + space(1) + dipendenti.cognome) AS nomeCognome, vendite.id_venduto AS id_venduto,vendite.pagato, vendite.data_vendita FROM  Fornitori, Servizi, Vendite, Dipendenti WHERE  fornitori.id_fornitore = vendite.id_fornitore AND servizi.id_servizio = vendite.id_servizio AND dipendenti.id_dipendente = vendite.id_dipendente " + filtro_fornitore + ") AS a LEFT JOIN (SELECT incassi.id_incasso,incassi.id_venduto,incassi.incassato FROM Incassi where incassi.incassato<>-1) AS b on a.id_venduto = b.id_venduto ORDER BY vendite.data_vendita DESC"
           
    
            Dim MyCommand As New OleDbCommand(sql, MyConnection)
            Dim dv As System.Data.DataView
            Try
                myoledbDataAdapter = New OleDbDataAdapter(MyCommand)
                myoledbDataAdapter.Fill(myDataSet, "result")
            Catch ex As OleDbException
                Response.Write(ex.Message)
                Response.Write("<script language='javascript'>alert('.::ERRORE::.');</" + "SCRIPT>")
            Finally
                MyConnection.Close()
                dtgIncassi.CurrentPageIndex = 0
                dtgIncassi.DataSource = myDataSet.Tables("result")
                dtgIncassi.DataBind()
    
            End Try
            Return (myDataSet.Tables("result"))
        End Function
    
    
    
    
        Protected Sub btnSalva_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSalva.Click
    
            Dim sql As String
            Dim sql1 As String
            Dim incassato As String
            Dim Documento As String
            Dim pagato As String
            Dim i As Integer
            Dim errore As Boolean
            If dtgIncassi.Items.Count > 0 Then
                For i = 0 To dtgIncassi.Items.Count - 1
    
                    Dim _incassato As New CheckBox
                    _incassato = CType(dtgIncassi.Items(i).Cells(4).FindControl("cbxIncassato"), CheckBox)
    
    
    
                    Dim _pagato As New CheckBox
                    _pagato = CType(dtgIncassi.Items(i).Cells(4).FindControl("cbxPagato"), CheckBox)
           
                   'Come recupero il valore della textbox????
    
                    Dim _id_incasso As New Label
                    _id_incasso = CType(dtgIncassi.Items(i).Cells(5).FindControl("id_incasso"), Label)
                    Dim _id_venduto As New Label
                    _id_venduto = CType(dtgIncassi.Items(i).Cells(5).FindControl("id_venduto"), Label)
    
                    If _incassato.Checked = True Then
                        incassato = "True"
                    Else
                        incassato = "False"
                    End If
    
                    If _pagato.Checked = True Then
                        pagato = "True"
                    Else
                        pagato = "False"
                    End If
    
    
    
    
                    If _id_incasso.Text = "" Then
                        sql = " INSERT INTO incassi (id_venduto, data_incasso, incassato, rif_documento) VALUES ('" + _id_venduto.Text + "','" + String.Format("{0:dd/MM/yyyy}", Now) + "'," + incassato + ",'" + incassato + "')"
                    Else
                        sql = "UPDATE Incassi SET incassato=" + incassato + " WHERE id_incasso= " + CStr(_id_incasso.Text)
                    End If
    
                    'sql1 = "UPDATE Vendite SET pagato=" + pagato + " WHERE id_venduto= " + CStr(_id_venduto.Text)
    
                    Dim tran As OleDbTransaction
                    Dim MyConnection As OleDbConnection
                    MyConnection = New OleDbConnection(connetti())
                    Dim MyCommand As New OleDbCommand(sql, MyConnection)
                    ' Dim MyCommand1 As New OleDbCommand(sql1, MyConnection)
                    Try
                        MyConnection.Open()
                        tran = MyConnection.BeginTransaction
                        MyCommand.Transaction = tran
                        MyCommand.ExecuteNonQuery()
                        'MyCommand1.Transaction = tran
                        'MyCommand1.ExecuteNonQuery()
                        tran.Commit()
                        errore = False
                    Catch EX As OleDbException
                        errore = True
                        Response.Write(EX.Message)
                        tran.Rollback()
                        MyCommand.Dispose()
                        MyConnection.Close()
                        'MyCommand1.Dispose()
                    Finally
                        MyCommand.Dispose()
                        'MyCommand1.Dispose()
                        MyConnection.Close()
                    End Try
                Next
                If errore = False Then
                    Response.Write("<script language='javascript'>alert('Inserimento Effettuato Correttamente!');</" + "SCRIPT>")
                    Enable_Disable_Panel("Disable")
                End If
            Else
                Response.Write("<script language='javascript'>alert('ATTENZIONE! Non Esistono Elementi');</" + "SCRIPT>")
            End If
    
    
        End Sub
    
    
        Protected Sub btnCerca_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCerca.Click
    
            BindData(fornitore.SelectedValue)
            Enable_Disable_Panel("Enable")
        End Sub
    
    
        Sub Enable_Disable_Panel(ByVal mode)
            If mode = "Enable" Then
                pnlDataGrid.Visible = True
                btnSalva.Visible = True
            ElseIf mode = "Disable" Then
                pnlDataGrid.Visible = False
                btnSalva.Visible = False
            End If
    
    
        End Sub
    Chiaro cosa dovrei fare? Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    nello stesso modo in cui recuperi quello della checkbox!!!!!

    Codice PHP:
    Dim _pagato As New CheckBox
    _pagato 
    CType(dtgIncassi.Items(i).Cells(4).FindControl("cbxPagato"), CheckBox)

    Dim _valore As New TextBox
    _valore  
    CType(dtgIncassi.Items(i).Cells(3).FindControl("cbxDocumento"), TextBox
    nn so la sintassi...il vb nn me lo ricordo +....

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da Franz78
    nello stesso modo in cui recuperi quello della checkbox!!!!!

    Codice PHP:
    Dim _pagato As New CheckBox
    _pagato 
    CType(dtgIncassi.Items(i).Cells(4).FindControl("cbxPagato"), CheckBox)

    Dim _valore As New TextBox
    _valore  
    CType(dtgIncassi.Items(i).Cells(3).FindControl("cbxDocumento"), TextBox
    nn so la sintassi...il vb nn me lo ricordo +....
    grazie_D

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.