Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    webmatrix, recupero dati e paginazione

    Salve a tutti,

    ho creato questa pagina con webmatrix...in teoria dovrebbe recuperami i dati da Comuni.mdb e impaginarli su più pagine 1,2,3 ecc.
    Non capisco perchè non mi da errore ma non mi recupera neanche i record. Quando la testo veedo solo il titolo della pagina.
    Vi riporto il codice di seguito.
    Vi sarei grato se qualcuno provasse ad azzizzarla...cioè a farla funzicare bene.

    Il database lo potete scaricare da qui (tra l'altro potrebbe esservi molto utile):
    http://www.vlcsoftware.it/downloads/Varie/vlccomuni.asp

    <%@ Page Language="C#" Debug="true" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.OleDb" %>
    <script runat="server">

    void Page_Load(object sender, EventArgs e) {

    if (!Page.IsPostBack) {


    BindGrid();
    }
    }

    void DataGrid_Page(object sender, DataGridPageChangedEventArgs e) {

    DataGrid1.CurrentPageIndex = e.NewPageIndex;
    BindGrid();
    }

    void BindGrid() {

    string ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + Server.MapPath("/mdb-database/comuni.mdb");
    string CommandText = "select ID, CAPOLUOGO, PROVINCIA, COMUNI, CODICE_PROVINCIA from PROVINCE order by CAPOLUOGO";

    OleDbConnection myConnection = new OleDbConnection(ConnectionString);
    OleDbCommand myCommand = new OleDbCommand(CommandText, myConnection);

    myConnection.Open();

    DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConne ction);
    DataGrid1.DataBind();
    }

    </script>
    <html>
    <head>
    </head>
    <body style="FONT-FAMILY: arial">
    <h2>Prova paginazione
    </h2>
    <hr size="1" />
    <form runat="server">
    <asp:datagrid id="DataGrid1" runat="server" AllowPaging="true" PageSize="6" OnPageIndexChanged="DataGrid_Page" ForeColor="Black" BackColor="White" CellPadding="3" GridLines="None" CellSpacing="1" width="80%">
    <HeaderStyle font-bold="True" forecolor="white" backcolor="#4A3C8C"></HeaderStyle>
    <PagerStyle horizontalalign="Right" backcolor="#C6C3C6" mode="NumericPages"></PagerStyle>
    <ItemStyle backcolor="#DEDFDE"></ItemStyle>
    </asp:datagrid>
    </form>
    </body>
    </html>


    Grazie

    Diego:master:

  2. #2
    Questa cosa mi succede anche nella creazione di altre pagine che recuperano dati dal Db...quindi...risolta una...penso di poter risolvere anche le altre.

    Questa di seguito per esempio ...creata interamente con webmatrix (nella prima, postata sopra c'è qualcosa di mio), mostra solo il titolo della pagina ma non recupera i record e non mi da nessun errore. Proprio non capisco.


    <%@ Page Language="C#" Debug="true" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.OleDb" %>
    <script runat="server">

    System.Data.IDataReader MyQueryMethod() {
    string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=/mdb-database/Comuni.mdb";
    System.Data.IDbConnection dbConnection = new System.Data.OleDb.OleDbConnection(connectionString );

    string queryString = "SELECT [PROVINCE].[CAPOLUOGO], [PROVINCE].[PROVINCIA] FROM [PROVINCE]";
    System.Data.IDbCommand dbCommand = new System.Data.OleDb.OleDbCommand();
    dbCommand.CommandText = queryString;
    dbCommand.Connection = dbConnection;

    dbConnection.Open();
    System.Data.IDataReader dataReader = dbCommand.ExecuteReader(System.Data.CommandBehavio r.CloseConnection);

    return dataReader;
    }

    </script>
    <html>
    <head>
    </head>
    <body style="FONT-FAMILY: arial">
    <h2>Estrazione dati Comuni.mdb
    </h2>
    <hr size="1" />
    <form runat="server">
    <asp:datagrid id="DataGrid1" runat="server" CellSpacing="1" GridLines="None" CellPadding="3" BackColor="White" ForeColor="Black" EnableViewState="False">
    <HeaderStyle font-bold="True" forecolor="white" backcolor="#4A3C8C"></HeaderStyle>
    <ItemStyle backcolor="#DEDFDE"></ItemStyle>
    </asp:datagrid>
    </form>
    </body>
    </html>


    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Nel primo post vedo che richiai la funzione BindGrid solo se Page.IsPostBack = True. Penso dovresti fare il contrario ovvero richiamare BindGrid quando Page.IsPostBack = False.

    Hey hey, my my Rock and roll can never die!

  4. #4
    Adesso provo...

    per il secondo post...cioè la pagina creata interamente con webmatrix che mi dici?

    Grazie

  5. #5
    zampa28 avevi perfettamente ragione...ho impostato a "False" e mi ha recuperato i record. Solo che io avevo scelto il modello con paginazione dei risultati su più pagine. Invece attualmente mi vengono mostrati tutti i record nella stessa pagina.
    Forse impostando a "False" non mi da i risultati in pagine seguenti la prima ---AllowPaging="False"---
    Mi aiuteresti a risolvere questo problema?...visto che è proprio quello a cui voglio arrivare.

    Ovviamente il quesito è aperto a tutti.:gren:

    Grassie

  6. #6
    Qualcuno saprebbe fornirmi un esempio di paginazione dei record su più pagine (1,2,3 ecc.) scritta in C#.


    Grazie

  7. #7
    Non ci crederai mi hai salvato la vita con quel link al database era da una vita che lo cercavo!! THXXXXXXXXXx

  8. #8
    Figurati....

    cmq sempre su www.vlcsoftware.it si possono trovare script interessanti.

    Fateci un giro..

    Ma la per la paginazione com'è finita?

    Ciao
    Diego

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.