2013-11-15 85 views
0

我有一個令人沮喪的問題,我似乎無法解決。我有一個ASP.NET DataList,最終以列和行的形式呈現爲HTML <table>。此DataList也包含在具有列和行的HTML <table>中。無法獲取DataList HTML表格渲染來調整高度屬性

當頁面呈現時,我已將窗口調整爲790x500,並且頁腳橫跨底部。整個頁面看起來不錯。然而,這個DataList是而不是調整尺寸較小,幷包含一個高度超過我的頁腳,在主頁上創建一個滾動條。我真的需要DataList大約250像素以適應窗口。爲了測試,我使用100px來查看是否可以調整大小。

無論我嘗試什麼,我都無法獲取此呈現的<table>或周圍元素的大小。我使用開發人員工具並將每個包含元素的高度更改爲100px,並且沒有任何東西看起來縮小了高度。我甚至嘗試了服務器控制的Heightproperty,並沒有工作(寬度屬性工作正常)。 DOM是有點大,但是這應該說明我有和沒有的它一直:

<div class="row-fluid"> 
    <div class="span12" style="height: 100px;"> 
    <table style="height: 100px;"> 
     <tbody style="height: 100px;"> 
     <tr style="height: 100px;"> 
      <td style="height: 100px;"> 
       <table style="width: 100%; height: 100px; overflow-x: hidden; overflow-y: scroll;"> 
       <tbody style="height: 100px;"> 
         <tr style="height: 100px;"> 
          <td style="height: 100px;"> 
    The culprit is here--> <table id="DataList1" style="width: 670px; height: 100px; border-top-style: inset; border-right-style: inset; border-bottom-style: inset; border-left-style: inset; border-collapse: collapse;" cellspacing="0"> 
            <tbody style="height: 100px;"> 

在這一點上,我用尺子和含有約372px DataList的措施,比100像素更大的表。 DataList似乎要調整大小以適應其中的所有數據,但我無法在DOM遠程372px中找到任何東西作爲屬性。即使如此,我嘗試過的所有東西都無法縮小。

我在這做什麼錯在這裏?

回答

0

那麼這裏的解決方案是將DataList控件包裝在<DIV>中以控制高度,而不是操縱所有周圍的<table>元素塊。這解決了問題並允許根據需要設置控制的高度:

<div style="height: 190px; overflow-x: hidden; overflow-y: auto;"> 
    <asp:DataList ID="DataList1" runat="server" 
        Width="670px"> 
    ... 
</div>