Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206

    [VB.NET] E' possibile fare questo?

    Salve

    Scusate il titolo poco originale però essendo l'argomento un pò lungo, e soprattutto molto confuso nella mia testa, non sono riuscito a sintetizzarlo.

    La questione è questa:

    Ho una pagina che effettua l'inserimento di una data in un campo textbox selezionata da un calendario.

    Alla conferma della data, con l'apposito tasto, viene visualizzato nella parte bassa del video un datagrid con i dati presenti nel db per la data selezionata.

    La cosa funziona soltanto che quando si sceglie una data dove non ci sono dati restat visualizzato il datagrid con i dati visualizzati in precedenza come posso fare per rimuoverlo?

    Vi riporto il listato della pagina:
    codice:
    <%@ Page Language="vb" Debug="true" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.OleDb" %>
    <%@ import Namespace="System.Web.UI.WebControls" %>
    <script runat="server">
        
        
        Sub calendar1_SelectionChanged(ByVal Sender As Object, ByVal E As EventArgs)
            Dim strnumop As String
            dataop.Text = calendar1.SelectedDate.ToString()
            Message.Text = "La data scelta è stata aggiunta alla scheda di registrazione." & "
    " & "Scegliere il Cuas ed indicare l'importo accreditato"
            Dim strConn As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/contocorrente/mdb-database/contocorrente.mdb")
            Dim objConn As New OleDbConnection(strConn)
            objConn.Open()
            Dim strSQL As String = "SELECT * FROM accrediti WHERE dataop =" & "'" & dataop.Text & "'" & "ORDER BY cuas ASC"
            Dim objCommand As New Data.OleDb.OleDbCommand(strSQL, objConn)
            Dim objDataReader As OleDbDataReader
            objDataReader = objCommand.ExecuteReader
            If Not objDataReader.HasRows() Then
                Dim strConn1 As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/contocorrente/mdb-database/contocorrente.mdb")
                Dim objConn1 As New OleDbConnection(strConn1)
                objConn1.Open()
                Dim strSQL1 As String = "SELECT TOP 1 * FROM accrediti ORDER BY numop DESC"
                Dim objCommand1 As New OleDbCommand(strSQL1, objConn1)
                Dim objDataReader1 As OleDbDataReader
                objDataReader1 = objCommand1.ExecuteReader()
                Do While objDataReader1.Read
                    strnumop = objDataReader1("numop")
                Loop
                objDataReader1.Close()
                strnumop = strnumop + 1
                Dim aCookie As New HttpCookie("numeropera")
                aCookie.Value = strnumop
                aCookie.Expires = DateTime.Now.AddDays(1)
                Response.Cookies.Add(aCookie)
                lblsegnalazione.Text = "Non ci sono accrediti registrati per il giorno " & dataop.Text
            Else
                dgaccrediti.DataSource = objDataReader
                dgaccrediti.DataBind()
                lblsegnalazione.Text = "Elenco degli accrediti registrati per il giorno  " & dataop.Text
            End If
        End Sub
        Sub EnterBtn_Click(ByVal Sender As Object, ByVal E As EventArgs)
            If (Page.IsValid) Then
                Dim numop_var As String = Server.HtmlEncode(Request.Cookies("numeropera").Value)
                Dim dataop_var As String = dataop.Text
                Dim cuas_var As String = cuas.SelectedItem.Value
                Dim impaccredito_var As String = impacc.Text
                Dim imppervenuto_var As String = "0,00"
                Dim datapervenuto_var As String = "00/00/0000 0.00.00"
                Dim impnoperv_var As String = "0,00"
                Dim strConnI As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/contocorrente/mdb-database/contocorrente.mdb")
                Dim objConnI As New OleDbConnection(strConnI)
                Try
                    Dim Inserisci As New OleDbCommand
                    Inserisci.Connection = objConnI
                    Inserisci.CommandText = "INSERT INTO accrediti ([numop],[dataop],[cuas], [impaccredito], [imppervenuto], [datapervenuto], [impnoperv] )values " & _
                    "(?,?,?,?,?,?,?)"
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = numop_var
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = dataop_var
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = cuas_var
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = impaccredito_var
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = imppervenuto_var
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = datapervenuto_var
                    Inserisci.Parameters.Add("?", OleDbType.VarChar).Value = impnoperv_var
                    objConnI.Open()
                    Inserisci.ExecuteNonQuery()
                Finally
                    objConnI.Close()
                End Try
                Message2.Text = "L'operazione è stata registrata correttamente"
            Else
                Message2.Text = "Si è verificato un errore durante la registrazione dell'accredito verificare l'elenco degli accrediti registrati"
            End If    
            Dim strConn As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/contocorrente/mdb-database/contocorrente.mdb")
            Dim objConn As New OleDbConnection(strConn)
            objConn.Open()
            Dim strSQL As String = "SELECT * FROM accrediti WHERE dataop =" & "'" & dataop.Text & "'" & "ORDER BY cuas ASC"
            Dim objCommand As New Data.OleDb.OleDbCommand(strSQL, objConn)
            Dim objDataReader As OleDbDataReader
            objDataReader = objCommand.ExecuteReader
            If Not objDataReader.HasRows() Then
                lblsegnalazione.Text = "Non ci sono accrediti registrati per il giorno " & dataop.Text
            Else
                dgaccrediti.DataSource = objDataReader
                dgaccrediti.DataBind()
                lblsegnalazione.Text = "Elenco degli accrediti registrati per il giorno  " & dataop.Text
            End If
        End Sub
    </script>
    ....
    ....
     <asp:datagrid id="dgaccrediti" runat="server" Font-Size="Smaller" Font-Name="Verdana" BorderColor="gray" AutoGenerateColumns="false" HeaderStyle-Font-Bold="True" HeaderStyle-Font-Size="Small" HeaderStyle-ForeColor="White" HeaderStyle-BackColor="#0099CC">
              <Columns>
                <asp:BoundColumn HeaderText="Data accredito" DataField="dataop" >
                    <ItemStyle HorizontalAlign="Center" />
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:BoundColumn>
                <asp:BoundColumn HeaderText="Numero Operazione" DataField="numop" >
                    <ItemStyle HorizontalAlign="Center" />
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:BoundColumn>
                <asp:BoundColumn HeaderText="Cuas" DataField="cuas" >
                    <ItemStyle HorizontalAlign="Center" />
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:BoundColumn>
                <asp:BoundColumn HeaderText="Importo accreditato" DataField="impaccredito" >
                    <ItemStyle HorizontalAlign="Right" />
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:BoundColumn>
                </Columns>
                  <HeaderStyle BackColor="Black" Font-Bold="True" Font-Size="Small" ForeColor="White" />
                </asp:datagrid>
    Cordialità Donaz

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    dgaccrediti.DataSource = nothing.

  3. #3
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206
    Grazie Cassano

    Ho provato ad inserire la tua istruzione però non ho l'effetto voluto. Forse ho commesso un errore.
    La tua istruzione l'ho inserita a questo punto del codice:

    Nella prima sub cioè calendar1_SelectionChanged

    codice:
    dgaccrediti.DataSource = Nothing
                lblsegnalazione.Text = "Non ci sono accrediti registrati per il giorno " & dataop.Text
            Else
    Cordialità Donaz

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    il databind deve essere fatto comunque

    soluzione cassano ==> archiviata in libreria

    Pietro

  5. #5
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206
    Ok

    Corretto ora funziona proprio come volevo.


    codice:
    dgaccrediti.DataSource = Nothing
    dgaccrediti.DataBind()
                lblsegnalazione.Text = "Non ci sono accrediti registrati per il giorno " & dataop.Text
            Else
    Grazie a tutti.
    Cordialità Donaz

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    di nulla si fa quel che si può

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 © 2024 vBulletin Solutions, Inc. All rights reserved.