控制IE WebControl中TreeView的高度

类别:Asp 点击:0 评论:0 推荐:

TreeView是Microsoft IE WebControls中很有用的控件,应用广泛。随着TreeView打开和收拢,它所实际占据的高度也在变化,我的一个项目中,需要Treeview Control的高度随之变化,形成“紧凑”的布局。实现方法如下:

一、修改treeview.htc

treeview.htc在http://localhost/webctrl_client/1_0/中,加入如下几行:

<public:property name="TreeviewNode" GET="getTreeviewNode" />
function getTreeviewNode()
{
 return treeviewNode;
}

这是为了将隐藏的属性传递出来。

二、定义javascript函数

function AthosGetTreeViewCompactHeight(TreeviewID)
{
  objTreeview = document.all[TreeviewID];   
  objTreeviewNode = objTreeview.TreeviewNode;
  objTreeviewDivs = objTreeviewNode.getElementsByTagName("DIV");
  iCount = objTreeviewDivs.length;
  CompactHeight = -1;
  for(i=0;i<iCount;i++)
  {
    objTreeviewDiv = objTreeviewDivs[i];
    iTop = objTreeviewDiv.offsetTop;
    iHeight = objTreeviewDiv.offsetHeight;
    iBottom = iTop+iHeight;
    if(iBottom > CompactHeight)
      CompactHeight = iBottom;
  }
  return CompactHeight;
}

function AthosFitTreeViewHeight(TreeviewID)
{
  objTreeview = document.all[TreeviewID];
  objTreeview.style.height = String(AthosGetTreeViewCompactHeight(TreeviewID))+"px"; 
}

第一个函数,是取得树的实际高度。第二个函数,是重新设定树控件的高度。参数则都是树控件的id。

这样,就可以控制树控件的高度了。


// athossmth 版权所有,转载请与作者联系。

本文地址:http://com.8s8s.com/it/it8690.htm