2010-12-10 7 views
2

Ich habe eine AspxGridView in meinem Projekt mit AllowFocusedRow="True". Jedes Mal, wenn ich die Seite (mit der Tabelle) lade, wird die erste Zeile fokussiert. Wenn ich auf der Serverseite (vor dem Laden der Seite) -1 zu gvMain.FocusedRowIndex zuweisen, hilft das nicht. Aber wenn ich den fokussierten Zeilenindex auf Client-Seite ändern:AspxGridView standardmäßig fokussierte Zeile

    Init="function() { 
        gvMain.SetFocusedRowIndex(-1); 

dann lädt er die Tabelle mit der ersten Reihe ausgewählt, die dann verschwindet. Also denke ich, es ist besser, es früher zu definieren. Aber wie?

Antwort

6

Die Lösung war das PreRender Ereignis:

protected void ASPxGridView1_PreRender(object sender, EventArgs e) { 
     if(!IsPostBack) 
      ASPxGridView1.FocusedRowIndex = -1; 
    } 
0

Verwenden Sie das Databound-Ereignis des ASPxGridView wie unten gezeigt, um die FocusedRow auszublenden:

protected void ASPxGridView1_DataBound(object sender, EventArgs e) { 
     if(!IsPostBack) 
      ASPxGridView1.FocusedRowIndex = -1; 
    } 
+0

wow das ist nicht intuitiv. Wäre es möglich, dies später im Seitenlebenszyklus zu tun? wie LoadComplete? – Greg

+0

Es ist immer noch dasselbe. Und wenn es zu der ASPxGridView1_DataBound-Methode kommt, ist ASPxGridView1.FocusedRowIndex bereits -1. –

Verwandte Themen