Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258

    Errore quando nel CurrentPageIndex

    Ciao a tutti

    questo è l'errore che ho:
    Valore di CurrentPageIndex non valido. Deve essere maggiore o uguale a zero e minore di PageCount.

    Questo errore esce dopo che ho cambiato pagina nel datagrid e poi seleziono un combo per filtrare i dati.

    Grazie mille
    ste

  2. #2
    Sull'evento della combo cosa succede? Forse viene modificato il CurrentPageIndex. Prova a controllare.
    Altrimenti posta il codice che gli diamo un'occhiata

    Ciao
    K
    Kalman

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    ti posto parte del codice:

    questo è quello che faccio per cambiare la pagina

    codice:
    public void Change_Page(object sender, DataGridPageChangedEventArgs e) 
    		{
    			// display a new page of data
    			
    			DataGrid1.EditItemIndex = -1;
    			DataGrid1.CurrentPageIndex = e.NewPageIndex;
    			BindGrid();
    			
    		}
    mentre il codice del mio pulsante è questo:
    codice:
    Panel3.Visible=false;
    			Session["cerca"]=true;
    			Session["ricerca"]=txRicerca.Text;
    BindGrid();
    codice per compilare il datagrid (BindGrid):
    codice:
    string query;
             if ((bool)Session["cerca"]==true)
             {
                string ricerca=Session["ricerca"].ToString();
                ricerca="%"+ricerca+"%";
    
                query="select * from Ana, Cla where Ana.AnaClaId=Cla.ClaOwnId and (AnaLnm like '" + ricerca +"' or AnaDes like '"+ ricerca+"') order by AnaCod";
             }
             else if((Session["filtro"].ToString()!="")&(Session["filtro"].ToString()!="Tutte"))
             {
                query="Select * from Ana,Cla where AnaClaId=ClaOwnId and ClaOwnId="+Convert.ToInt32(Session["filtro"])+" order by AnaCod";
             }
             else
    			{
    				query="select * from Ana, Cla where Ana.AnaClaId=Cla.ClaOwnId order by ClaDes, AnaCod";
    			}
    			SqlDataAdapter myCommand = new SqlDataAdapter(query, conn);
    			DataSet ds = new DataSet();
    			if(myCommand.Fill(ds, "Ana")==0)
    			{
    				lbl_Mess.Text="Nessuna anagrafiche trovata";
    				lbl_Mess.Visible=true;
    				DataGrid1.Visible=false;
    			}
    			else
    			{
    				DataGrid1.DataSource=ds.Tables["Ana"].DefaultView;
    				DataGrid1.DataBind();
    				lbl_Mess.Visible=false;
    				DataGrid1.Visible=true;
    			}
    Grazie mille per qualsiasi suggerimento

    ste
    ste

  4. #4
    Sorry ieri avevo letto di fretta il tuo post!
    Quando filtri i dati sei sicuro che il PageIndex che stavi guardando esista ancora?

    Mi spiego meglio. Ammettiamo che tu abbia una griglia di 10 pagine e sei alla pagina 7. Fai un filtro e hai solo 6 pagine. Il CurrentPageIndex è sempre sulla pagina 7 che è maggiore del numero massimo e quindi va in errore!

    Due soluzioni: o riparti dalla prima pagina dopo il filtro o aggiungi un controllo tra CurrentPageIndex e numero di pagine.

    Fammi sapere
    Ciao
    K
    Kalman

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    mi potresti fare un esempio?

    grazie mille
    ste

  6. #6
    Sull'evento del bottone del filtro aggiungi

    Esempio 1 - Per tornare alla prima pagina:
    DataGrid1.CurrentPageIndex = 0

    Esempio 2- controllo:

    int lastpage;
    lastpage = DataGrid1.CurrentPageIndex;
    DataGrid1.CurrentPageIndex = 0;
    BindGrid();

    if (this.DataGrid1.PageCount > lastpage ){
    DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount //o quella che vuoi;
    } else {
    DataGrid1.CurrentPageIndex = lastpage;
    }

    Spero di essere stato chiaro
    Fammi sapere
    Ciao
    K
    Kalman

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    Perfetto il primo metodo funziona perfettamente

    grazie mille
    Ste
    ste

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    Ciao,
    un altro problema sempre con il currentPageIndex.
    Ho in un datagrid un campo che mi fa caricare un altro datagrid, solo che se il secondo datagrid viene caricato quando sono nella seconda pagina del primo datagrid questo torna alla pagina iniziale.
    Il secondo datagrid è giusto mentre il primo non dovrebbe tornare alla prima pagina.

    Grazie mille
    ste

  9. #9
    Non è che fai confusione tra i Pageindex delle due griglie?
    Non c'è motivo che si riinizializzi almeno che non lo setti tu.

    Fammi sapere
    Ciao
    K
    Kalman

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    no nn credo di settarlo a meno che non faccia automaticamente...
    allora nel primo grid c'è un link che carica il secondo grid.
    Praticamente gli passo un parametro "more" che se è uguale a "costi" allora carica il secondo grid.
    Ti allego parte del codice:
    "DataGrid1 è il primo grid
    DataGrid6 è il secondo grid"

    Nel load della pagina:
    codice:
    if (more=="costi")
    			{            
    				int id_rec=Convert.ToInt32(Request["idRec"]);
    				string query="Select ResDes,RecDes,Rpr.*,ResOwnId, (RprUni * RprQty)tot from Rpr,Res,Rec where RprResId=ResOwnId and RprRecId=RecOwnId and RecOwnId="+id_rec;
    				SqlDataAdapter cmd = new SqlDataAdapter (query,conn);
    				DataSet ds_costi= new DataSet();
                if( cmd.Fill(ds_costi,"costi")!=0)
                {
                   DataGrid6.DataSource=ds_costi.Tables["costi"].DefaultView;
                   DataGrid6.DataBind();
                }
                else
                {
                   lblVuotoCosti.Visible=true;
                   lblVuotoCosti.Text="Non ci sono costi inseriti";
                }          
    				
    				Panel7.Visible=true;            Panel5.Visible=false;
    				BindDG1();
    				DataGrid1.Visible=true;         
    			}
    ste

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.