PageIndexChanging che funziona solo in avanti!

mercoledì 09 gennaio 2013 - 10.31
Tag Elenco Tags  VB.NET  |  Windows XP  |  Visual Studio 2010  |  SQL Server 2008 R2  |  VBScript

PaolaG Profilo | Newbie

ciao a tutti,
in una pagina (lato codice in vb) ho gestito l'evento pageindexchanging per gestire la paginazione di una gridview.
Funziona correttamente in avanti, cioè se da pag. 1 passo a pag. 2, ma se torno indietro a pag. 1, non funziona,
Ho aggiunto un breakpoint a inizio della Sub, andando avanti ci passa, tornando indietro non entra proprio nella Sub, quindi non "sente" proprio il pageindexchanging.
come posso fare?
grazie a tutti
Paola

alx_81 Profilo | Guru

>ciao a tutti,
Ciao

>in una pagina codice in vb) ho gestito l'evento pageindexchanging
>per gestire la paginazione di una gridview.
>Funziona correttamente in avanti, cioè se da pag. 1 passo a pag.
>3), ma se torno indietro a pag. 1, non funziona,
>Ho aggiunto un breakpoint a inizio della Sub, andando avanti
>ci passa, tornando indietro non entra proprio nella Sub, quindi
>non "sente" proprio il pageindexchanging.
>come posso fare?
potresti postare il codice? Altrimenti non riusciamo a vedere che fai..

>grazie a tutti
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

PaolaG Profilo | Newbie

Questa è la sub che gestisce il pageindexchanging:

Private Sub GvDatiCedola_PageIndexChanging(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewPageEventArgs) Handles GvDatiCedola.PageIndexChanging

GvDatiCedola.PageIndex = e.NewPageIndex
CaricaGriglia()
PulisciFormRiga()
Dim IdRiga As Int32 = 0

End Sub

Entra qui solo quando vado da pag. 1 a pag. 2 ma non viceversa. Viceversa va subito nella sub che gestisce il rowcommand:

Sub GvDatiCedola_RowCommand(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GvDatiCedola.RowCommand

.....




alx_81 Profilo | Guru

> CaricaGriglia()
> PulisciFormRiga()
cosa fanno queste due?
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

PaolaG Profilo | Newbie

CaricaGriglia carica la gridview dal db,
PulisciForm pulisce dei textbix di immissione che si trovano sopra la gridview.

alx_81 Profilo | Guru

>CaricaGriglia carica la gridview dal db,
>PulisciForm pulisce dei textbix di immissione che si trovano sopra la gridview.
quindi fa il databind anche?

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

PaolaG Profilo | Newbie

esatto

alx_81 Profilo | Guru

>esatto
provo a fare una demo.. perchè così non capisco cosa può essere..
appena ho un attimo di tempo ci guardo.
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

PaolaG Profilo | Newbie

Ciao! nel frattempo ho risolto grazie a un mio collega.
Nella Sub dove gestisco il RowCommand, appena si entra faccio subito:

If e.CommandName = "Page" Then Exit Sub

tutto ok, dopo entra nella Sub dove gestisce l'index changing.
grazie comunque!
ciao
Paola

alx_81 Profilo | Guru

>If e.CommandName = "Page" Then Exit Sub
>tutto ok, dopo entra nella Sub dove gestisce l'index changing. grazie comunque!
Guarda, deve esserci allora qualcosa che non ci hai postato, perchè la demo che ho fatto è così:

ASPX:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Welcome to ASP.NET!
</h2>
<p>
To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.
</p>
<p>
You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&amp;clcid=0x409"
title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
</p>
<asp:GridView runat="server" ID="gridTry" OnPageIndexChanging="ChangingPage" PageSize="3" AllowPaging="True"></asp:GridView>
</asp:Content>


C#:

protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("Value"); DataRow dr1 = dt.NewRow(); dr1["id"] = 1; dr1["Value"] = "Uno"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["id"] = 1; dr2["Value"] = "Uno"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["id"] = 1; dr3["Value"] = "Uno"; dt.Rows.Add(dr3); DataRow dr4 = dt.NewRow(); dr4["id"] = 1; dr4["Value"] = "Uno"; dt.Rows.Add(dr4); DataRow dr5 = dt.NewRow(); dr5["id"] = 1; dr5["Value"] = "Uno"; dt.Rows.Add(dr5); DataRow dr6 = dt.NewRow(); dr6["id"] = 1; dr6["Value"] = "Uno"; dt.Rows.Add(dr6); DataRow dr7 = dt.NewRow(); dr7["id"] = 1; dr7["Value"] = "Uno"; dt.Rows.Add(dr7); DataRow dr8 = dt.NewRow(); dr8["id"] = 1; dr8["Value"] = "Uno"; dt.Rows.Add(dr8); DataRow dr9 = dt.NewRow(); dr9["id"] = 1; dr9["Value"] = "Uno"; dt.Rows.Add(dr9); gridTry.DataSource = dt; gridTry.DataBind(); } protected void ChangingPage(object sender, GridViewPageEventArgs e) { var grid = sender as GridView; grid.PageIndex = e.NewPageIndex; grid.DataBind(); }

e funge..
probabilmente succede qualcosa nel tuo codice che ci siamo persi..
comunque, meglio così,
ciao!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5