Hallo zusammen, ich habe ein Problem mit dem Paging eines GridViews.
Gefüllt wird das GridView so:
OracleDataAdapter da = new OracleDataAdapter(commandstring, con);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
GridView1.Visible = true;
Dann habe ich noch das Ereignis GridView1_PageIndexChanging gefüllt:
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
Das Problem ist jetzt wenn ich beim Paging auf Seite 2 wechseln will verschwindet das GridView. Woran kann das liegen?
Danke!
Hallo,
das liegt daran, dass im ViewState nur die angezeigten Datensätze mitgeschleppt werden -> Du musst vor dem Binden der Daten die Datenquelle nochmal neu abrufen und setzen (was nicht nötig ist, wenn man dem GridView eine vorgefertigte DataSource wie z.B. SqlDataSource
oder ObjectDataSource
deklarativ im Markup verpasst, die aktualisieren sich automatisch).
GridView1.PageIndex = e.NewPageIndex;
// --> hier die Daten neu abrufen und die DataSource neu setzen
GridView1.DataBind();
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca