2010-11-19 16 views
-1

Ich habe ein TreeView in meinem Webformular und ich brauche es, um den Fokus zu behalten, nachdem es ausgewählt wurde. Kann ich das irgendwie erreichen?TreeView verliert den Fokus nach Klickereignis

<asp:TreeView ID="ReportList" runat="server" BorderWidth="0px" BorderColor="0" 
    Font-Names="Arial" Font-Size="Small" ForeColor="Blue" SelectedNodeStyle-ForeColor="Red" 
    SelectedNodeStyle-VerticalPadding="0" ExpandDepth="0" ImageSet="Arrows" EnableClientScript="False" 
    PopulateNodesFromClient="false" OnSelectedNodeChanged="TreeView_Select_Change" 
    OnTreeNodePopulate="PopulateNode" EnableViewState="true" BorderStyle="Solid" Height="600px"> 
    <LevelStyles> 
     <asp:TreeNodeStyle ChildNodesPadding="10" Font-Bold="true" Font-Size="9pt" ForeColor="LightBlue" /> 
     <asp:TreeNodeStyle ChildNodesPadding="5" Font-Bold="true" Font-Size="8pt" /> 
     <asp:TreeNodeStyle ChildNodesPadding="5" Font-Underline="true" Font-Size="8pt" /> 
     <asp:TreeNodeStyle ChildNodesPadding="10" Font-Size="8pt" /> 
    </LevelStyles> 
    <Nodes> 
     <asp:TreeNode Text="Keyon Reports" SelectAction="Expand" PopulateOnDemand="true" /> 
    </Nodes> 
</asp:TreeView> 
+0

Hallo Lyle! Versuchen Sie, sich angewöhnen zu wollen, eine Antwort als richtig oder hilfreich zu markieren ... Es gibt ein Häkchen neben jeder Antwort, auf die Sie klicken können, wenn Sie sie als solche markieren möchten. Du erhältst Reputationspunkte, um einen zu markieren, und der Antworter erhält Punkte für seine Hilfe. Vielen Dank! –

Antwort

2

Sie verlieren den Fokus wegen der Postbacks aus dem OnSelectedNodeChanged Ereignisse ... während die Werte in der Baumstruktur beibehalten werden, Eigenschaften wie die fokussierte Steuerung werden in dem Ansichtszustand nicht durchgeführt.

In Ihrer Seite Load-Ereignis, versuchen Sie dies:

if (IsPostBack) { 
    ReportList.Focus(); 
} 


Edit:

Die treeview einen Ansichtszustand hat; Die Seite verfolgt nicht, welches Steuerelement den Fokus hat.

Wenn Sie nur besorgt sind, den ausgewählten Knoten im Blick zu behalten, gibt es Möglichkeiten, ein Element in Javascript zu sehen. Siehe here oder here.

Wenn Sie Probleme mit dem Postback vermeiden möchten, können Sie mit der Treeview-Client-Seite mit Javascript arbeiten. Einige ausgezeichnete Beispiele sind here.

+0

das funktioniert nicht – Lyle

+0

Möchten Sie den Fokus auf einen bestimmten Knoten im Baum richten? Meinst du, du möchtest etwas auswählen oder Fokus auf die Kontrolle legen? –

+0

Wenn die Strukturansicht mit vielen Elementen gefüllt ist, scrollt sie bei der Auswahl des Blattknotens beim Postback zurück an den Anfang der Baumansicht. Ich möchte, dass es sich auf den ausgewählten Knoten konzentriert. – Lyle

Verwandte Themen