我有一个treeview控件,在运行时使用员工名称的金字塔填充。我通过在树视图所在的标记中放置overflow:auto“将css滚动条放在视图上。用户现在要求我在树视图中将滚动条向下移动,其中选择了树视图项。
如何让滚动条转到选择了树视图的地方?
注意: treeView1.SelectedNode.EnsureVisible();
在asp.net中不可用另一种方式。
答案 0 :(得分:0)
你需要一些自定义的javascript和一些代码隐藏。首先使用找到here的JS方法获取treenode的客户端ID:
function GetTreeNodeID(nodeTooltip)
{
var tree = document.getElementById(TreeView.ClientID); // Change TreeView ClientID.
var treeLink = tree.getElementsByTagName('A');
for(var element in treeLink)
if((nodeTooltip == treeLink[element].title) && (treeLink[element].title != ""))
return treeLink[element].id;
}
然后在您的代码隐藏中,您可以使用scrollIntoView()
javascript方法注册启动脚本以将div滚动到treenode:
Dim script As String = String.Format("var treeNode = GetTreeNodeID('{0}'); treeNode.scrollIntoView();", myTreeNode.Tooltip)
Page.ClientScript.RegisterStartupScript("scrollScript", script)
答案 1 :(得分:0)
以下JavaScript应该有所帮助:
var selected = document.getElementById(node_id);
if (selected) {
selected.scrollIntoView(true);
}
如果选择节点会触发回发,请尝试:
<%@ Page Title="" Language="C#" MaintainScrollPositionOnPostback="true"