Ich habe eine GridView, die Daten im DataSet-Modus von einer SqlDataSource zugreift. Ich habe Paging aktiviert und es funktioniert, aber in großen Datasets dauert es außerordentlich lange, um Daten zu ziehen.Paging in GridView mit SqlDataSource
Es scheint, als würde die SqlDatSource alle Daten abrufen, und dann wird sie auf UI-Ebene paginged. Dies ist offensichtlich eine miese Lösung. Ich habe mir Tips on speeding up a SqlDataSource? angeschaut und es scheint, als wäre ich mit demselben Thema beschäftigt - es sieht so aus, als müsste ich etwas Paging-Code in meine SELECT-Anweisung implementieren, ich bin mir einfach nicht sicher, wie ich das machen soll. Ich bin nicht dagegen, es in einen SProc zu ziehen, wenn es sein muss, aber es wäre besser, den SELECT-Befehl in der SqlDataSource zu belassen.
Ich weiß, MySQL hat LIMIT X, Y (X ist die Anzahl der Zeilen abzurufen und Y ist Offset). TOP scheint nicht das gleiche zu tun, und ich weiß auch nicht, wie ich die Paging-Informationen von der GridView in die SqlDataSource bringen soll.
Ist das der beste Weg, dies zu tun? (Und wenn ja, wo fange ich an?) Oder gibt es einen besseren Weg, effektives Paging von einer SqlDataSource in einer GridView zu bekommen?
(Ich bin mit C# wenn es darauf ankommt, aber ich glaube nicht, es sollte.)
Dank.
+1 für die richtige Richtung, wäre die größere Frage, wie man einen dynamischen Wrapper für generische Paging erstellen. –