下面的代码显示了页面的布局:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Focus Tree Node on Postback</title> </head> <body onload="LoadEvent()"> <form id="form1" runat="server"> <div> <asp:Panel ID="Panel1" runat="server" Height="200px" Width="200px" ScrollBars="Both"> <asp:TreeView ID="TreeView1" runat="server"> <SelectedNodeStyle BackColor="#8080FF" /> </asp:TreeView> </asp:Panel> </div> </form> </body> </html> |
下图显示了本例子运行的结果
最后,下面的代码显示了javascript的注入方式:
<script> function LoadEvent() { try { var elem = document.getElementById('TreeView1_SelectedNode'); if(elem != null ) { var node = document.getElementById(elem.value); if(node != null) { node.scrollIntoView(true); Panel1.scrollLeft = 0; } } } catch(oException) {} }// --> </script> |
用Javascript定义的LoadEvent函数将查找隐藏字段,我们利用TreeView控件的ClientID 查找所有元素,不过,在嵌套多个TreeView控件后,名称将变得非常长.找到单元格的值后,我使用scrollIntoView方法.scrollLeft属性将让滚动条滚动当前位置.
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/