Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Quesito su grid view

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    13

    Quesito su grid view

    Salve a tutti, ho una gridview che visualizza i risultati di una tabella da DB Sql server 2008, la tabella è collegata con un datasource sqlclient, la grid e consultabile tramite i classici link avanti dietro e numerico esposti dal controllo, di default lo stato del controllo e contenuto nel viewstate, vorrei visualizzare lo stato tramite query string cioè sull'url pagina attuale ed eventuali filtri e possibile? mi sono documentato sul controllo su msdn ma non ho trovato nulla.


    Grazie.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    vuoi visualizzare il contenuto del viewstate sulla pagina ?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    13
    Ciao grazie per la risposta, scusa la tardività ma causa influenza sono stato lontano dalla tastiera, ho impostato il quesito in modo errato, attualmente ho una grid popolata come descritto in precedenza, vorrei sapere se e possibile riscrivere l'url aggiungendo o modificando i parametri query string ad ogni azione sul controllo tipo avanti indietro, esempio su un controllo gridview che impagina un solo record alla volta:

    Tipo clicco avanti, nel url corrente viene aggiunto con una funzione il parametro dell'id del record attuale in questo modo se l'utente dovesse fare un copia incolla passando il link richiamando lo stesso su un altro client venga visualizzato quel record, ho già provato ad utilizzare i parametri tramite query string sulla gridview, ma a me serve l'inverso deve essere il controllo a restituire il link ad ogni posizione.

    Grazie

  4. #4
    questo sarebbe il vecchio medoto asp......

    Il problema sta nel fatto che il pager del gridview, invia dei postback alla pagina, mentre mettendo i parametri sulla querystring, dovresti trasformare i linkbutton del pager in semplici link. Questo vuol dire che ti salta il meccanismo del viewstate (se ne fai uso).

    Una mia idea.

    un pager custom lato aspx così:
    codice:
            <PagerTemplate>
                <table width="100%">
                    <tr>
                        <td style="text-align: right">
                            <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
                        </td>
                    </tr>
                </table>
            </PagerTemplate>
    una gestione delle pagine lato codice così:
    codice:
    protected void Page_Load(object sender, EventArgs e)
    {
        string page = string.Empty;
        if (Request.QueryString["page"] != null)
        {
            page = Request.QueryString["page"].ToString();
            GridView1.PageIndex = int.Parse(page) - 1;
        }
    }
    
    protected void GridView1_DataBound(object sender, EventArgs e)
    {
        SetPaging();
    }
    
    private void SetPaging()
    {
        GridViewRow row = GridView1.BottomPagerRow;
    
        for (int i = 1; i < GridView1.PageCount; i++)
        {
            string urlWithPage = "{0}?page={1}";
            string currenturl = Request.Url.AbsolutePath;
                    
            HyperLink hl = new HyperLink();
            hl.Text = i.ToString();
            hl.NavigateUrl = string.Format(urlWithPage, currenturl, i.ToString());
            hl.ToolTip = "Page " + i.ToString();
    
            if (i == GridView1.PageIndex + 1)
            {
                hl.BackColor = Color.BlanchedAlmond;
                hl.Style[HtmlTextWriterStyle.TextDecoration] = "none";
            }
    
            PlaceHolder place = row.FindControl("PlaceHolder1") as PlaceHolder;
            place.Controls.Add(hl);
    
            Label lbl = new Label();
            lbl.Text = " ";
            place.Controls.Add(lbl);
        }
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    13
    Grazie, hai centrato esattamente il punto e mi hai dato uno spunto per Asp.Net, se produrrò qualcosa di solido posterò il codice.

    Grazie ancora.

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.