36 messaggi dal 09 giugno 2003
Salve a tutti,
ho un DataGrid [d_elenco] con AllowCustomPaging="True" AllowPaging="True" PageSize="5".

ora se:
1) ho 11 record
2)metto i dati nel datagrid con il codice:
strsql="select * from..."
OleDbDataAdapter odd = new OleDbDataAdapter(strsql, conn);
DataSet ds = new DataSet();
odd.Fill(ds, "tabella");
d_elenco.DataSource = ds;
d_elenco.DataMember = "tabella";
d_elenco.DataBind();
3) il datagrid ha ovviamente 3 pagine
4) eseguo una query di Delete sul db (attenzione che non mando la grid in edit e poi in update, lo faccio nello stesso modulo ma da un tab apparte!) 5) ora ho 10 record quindi mi aspetto 2 pagine
6) eseguo di nuovo il codice delpunto 2

7) ho ancora 3 pagine......?

il bello è che se continuo a eseguire dei delete sul db ho sempre 3 pagine.
Secondo Voi è una questione di paginazione manuale o di cache?
Grazie!

Arca
Ma tu hai constatato che sul d_elenco.DataBind(); ci passa e che il dataset ha poi una riga in meno?

Ciao

Il mio blog
Homepage
36 messaggi dal 09 giugno 2003
Ciao,
si...tramite debugvedo che ci passa e sia nel Db che nel datagrid il record non è presente!
Il fatto che non torna è il numero di pagine....
Sinceramente non so piu che pensa .....
arca

Ricciolo [MVP] [Staff] wrote:
Ma tu hai constatato che sul d_elenco.DataBind(); ci passa e che il dataset ha poi una riga in meno?
154 messaggi dal 21 maggio 2001
Prova cosi :

If dataset.Tables("dati").Rows.Count < 10 Then
DataGrid.CurrentPageIndex = 0
End If
DataGrid.DataSource = dataset.Tables("dati").DefaultView
DataGrid.DataBind()
36 messaggi dal 09 giugno 2003
Il problema rimane....
Qualcuno sa come mai...

Grazie

cingianni wrote:
Prova cosi :

If dataset.Tables("dati").Rows.Count < 10 Then
DataGrid.CurrentPageIndex = 0
End If
DataGrid.DataSource = dataset.Tables("dati").DefaultView
DataGrid.DataBind()
36 messaggi dal 09 giugno 2003
Mi rispondo da solo....
per la paginazione manuale usavo la "VirtualItemCount" del DataGrid.... ebbene anche facendo il DataBind non aggiornavo il valore di tale propieta del Datagrid
quindi la paginazione non mi tornava.. eh eh...questo vuol dire che prima di usare una proprieta bisogna conoscerla a fondo...
grazie per le risposte

Arca

anigrelli wrote:
Salve a tutti,
ho un DataGrid [d_elenco] con AllowCustomPaging="True"
AllowPaging="True" PageSize="5".

ora se:
1) ho 11 record
2)metto i dati nel datagrid con il codice:
strsql="select * from..."
OleDbDataAdapter odd = new OleDbDataAdapter(strsql, conn);
DataSet ds = new DataSet();
odd.Fill(ds, "tabella");
d_elenco.DataSource = ds;
d_elenco.DataMember = "tabella";
d_elenco.DataBind();
3) il datagrid ha ovviamente 3 pagine
4) eseguo una query di Delete sul db (attenzione che non mando la grid in edit e poi in update, lo faccio nello stesso modulo ma da un tab apparte!) 5) ora ho 10 record quindi mi aspetto 2 pagine 6) eseguo di nuovo il codice delpunto 2

7) ho ancora 3 pagine......?

il bello è che se continuo a eseguire dei delete sul db ho sempre 3 pagine.

Secondo Voi è una questione di paginazione manuale o di cache? Grazie!

Arca

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.