Treeview无法识别所需的高度

本文关键字:高度 识别 Treeview | 更新日期: 2023-09-27 18:29:03

我有一个树视图,它忽略了我创建更紧凑视图的愿望。树视图的高度远远低于页面的高度,所以我试图让它位于大约300px的面板或div中。无论我把div或panel标记放在哪里,它似乎都不会改变高度,树视图一直持续到数据的末尾。有人能帮忙吗?

这是我的代码:

asp.net:

<script type="text/javascript">
   // It is important to place this JavaScript code after ScriptManager1
   var xPos, yPos;
   var prm = Sys.WebForms.PageRequestManager.getInstance();
   function BeginRequestHandler(sender, args) {
       if ($get('<%=Panel1.ClientID%>') != null) {
           // Get X and Y positions of scrollbar before the partial postback
           xPos = $get('<%=Panel1.ClientID%>').scrollLeft;
           yPos = $get('<%=Panel1.ClientID%>').scrollTop;
       }
   }
   function EndRequestHandler(sender, args) {
       if ($get('<%=Panel1.ClientID%>') != null) {
           // Set X and Y positions back to the scrollbar
           // after partial postback
           $get('<%=Panel1.ClientID%>').scrollLeft = xPos;
           $get('<%=Panel1.ClientID%>').scrollTop = yPos;
       }
   }
   prm.add_beginRequest(BeginRequestHandler);
   prm.add_endRequest(EndRequestHandler);
</script>
 <asp:Panel ID="FPanel" runat="server" Height="300px">
     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Panel ID="Panel1" runat="server" Height="300px">
<div style="height:300px">
                <asp:TreeView ID="TreeViewAccts" runat="server" ShowLines="true" PopulateNodesFromClient="false" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged1" Height="118px" ShowExpandCollapse="true" Font-Size="X-Small" Width="645px" NodeIndent="10" Font-Bold="True" ForeColor="DarkBlue" ExpandDepth="0">
                    <NodeStyle VerticalPadding="1" 
                                Font-Names="Courier" 
                                Font-Size="8pt" 
                                NodeSpacing="0" 
                                HorizontalPadding="5" 
                                BorderStyle="Solid"
                                BorderColor="DarkCyan"
                                BorderWidth="1"
                                BackColor="White"
                                Width="640">
                    </NodeStyle>        
                </asp:TreeView>   
                <asp:TextBox ID="txtTreeselect" runat="server" Enabled="False" Visible="False"></asp:TextBox>
                <asp:HiddenField ID="xCoordHolder" runat="server" />
                <asp:HiddenField ID="yCoordHolder" runat="server" />
</div>
            </asp:Panel>
        </ContentTemplate>
     </asp:UpdatePanel>
</asp:Panel>

Treeview无法识别所需的高度

明白了。对于任何感兴趣的人来说,有一个面板的属性可以做到这一点,叫做"ScrollBars"。

我更改了

 <asp:Panel ID="FPanel" runat="server" Height="300px">

 <asp:Panel ID="FPanel" runat="server" Height="300px" ScrollBars="Vertical">

在添加了这个之后,我能够完全删除div标记,一切都如预期的那样工作。