Telerik RadGrid Paging - Doppelte Datensätze und Stick-Buttons

8

Ich habe vor kurzem begonnen, ASP.Net und Teleriks RadGrid zu verwenden, habe aber ein Problem:

Mein RadGrid-Objekt befindet sich innerhalb eines UserControl-Objekts innerhalb eines benutzerdefinierten Steuerelements in einem Page-Objekt (das über einen Skript-Manager verfügt).

Ich habe mehrere Benutzersteuerelemente innerhalb des benutzerdefinierten Steuerelements, von denen jedes das Markup für ein RadGrid-Objekt wie folgt enthält:

%Vor%

Ich habe die Namen von Spalten und Namespaces in etwas nicht projektspezifisches geändert, aber das Raster wird geladen.

Da es sich um ein benutzerdefiniertes Steuerelement handelt, wird es wie folgt instanziiert:

%Vor%

Die Variable dataSet hat den Typ System.Data.DataSet .

Wenn ich also diese Website betreibe, erscheint das Radraster. Ich habe ein Raster mit 4 Zeilen, 3 davon auf Seite 1 und die letzte Zeile auf Seite 2. Wenn ich auf Seite 2 klicke, passiert alles wie erwartet. Die Formatierung für Seitenschaltflächen ändert sich und die Zeilen von Seite 1 werden entfernt, wobei die Zeile von Seite 2 dem Raster hinzugefügt wird. Groß! Was als nächstes passiert ist, was ich nicht verstehe:

Wenn Seite 1 erneut angeklickt wird, ändert sich der Stil für die Schaltfläche Seite 2 nicht (es wird also immer noch geklickt) und die Zeilen 2 und 3 erscheinen im Raster, aber die erste Zeile ist die Zeile, die an war Seite 2.

Es scheint, als ob Seite 2 nicht gelöscht wird, wenn Seite 1 geladen wird, ich bin mir nicht sicher, warum oder wie das ist. Hat jemand irgendwelche Ideen zu dem, was ich falsch mache?

Würde deine Hilfe wirklich schätzen.

Prost,

Rob

    
rjbell00 07.10.2011, 10:23
quelle

2 Antworten

1

Ich bin mir sicher, dass Sie das jetzt herausgefunden haben, aber ich frage mich, ob dies ein Nebeneffekt davon ist, die NeedDataSource-Eigenschaft nicht mit der Grid-Datenquelle zu setzen?

füge dies dem RadGrid-Steuerelement am Frontend hinzu.

  

OnNeedDataSource="radGrid_NeedDataSource"

und behandeln Sie es in Code hinter.

  
    

protected void radGrid_NeedDataSource (Objekt-Absender,     GridNeedDataSourceEventArgs e) {         view.RadGrid.DataSource = gridData; }

  
    
hardba11 17.11.2011 14:12
quelle
0

Sie müssen das Dataset dem Raster beim Laden nicht zur Verfügung stellen. Das Dataset wird bei Bedarf mit der DataSourceID abgerufen, die Sie im Design festgelegt haben.

Entfernen Sie "view.DataSource = dataSet;" und die Rebind-Funktion und alles sollte wie erwartet funktionieren.

    
Jack Ward 09.08.2013 10:23
quelle

Tags und Links