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>
明白了。对于任何感兴趣的人来说,有一个面板的属性可以做到这一点,叫做"ScrollBars"。
我更改了
<asp:Panel ID="FPanel" runat="server" Height="300px">
至
<asp:Panel ID="FPanel" runat="server" Height="300px" ScrollBars="Vertical">
在添加了这个之后,我能够完全删除div标记,一切都如预期的那样工作。