2012-09-18 127 views
0

我正在創建一個asp.net c#web應用程序。其中我有一個ajax模態PopUp,它包含一個GridView。 ModalPopUp的高度根據GridView的高度自動設置(取決於GridView中的數據)。 現在我想要的是,當Popup的高度變得比它的父頁面大的時候,我想重置 PopUp的高度(小於父頁面)並在其上設置滾動條。 所有這一切,我想做動態的客戶端。 對於這個我用下面的代碼設置ajax的動態高度Modal Popup

function ShowPopUp_AllPrices() {   
    $find('popupAllPrices').show();  
    return false; 
    } 



<asp:LinkButton ID="lnkProduct" runat="server"></asp:LinkButton> 
<ajaxToolkit:ModalPopupExtender ID="ModalPopupProduct" runat="server" BehaviorID="popupProduct" 
    TargetControlID="lnkProduct" PopupControlID="pnlAddProduct" BackgroundCssClass="modalBackground" /> 
<asp:Panel ID="pnlAddProduct" runat="server" Style="display: none; width: 80%; font-size: 8pt;"> 

<div> 
     <asp:LinkButton ID="lnkAllPrices" runat="server"></asp:LinkButton> 
     <ajaxToolkit:ModalPopupExtender ID="ModalPopupAllPrices" runat="server" BehaviorID="popupAllPrices" 
      TargetControlID="lnkAllPrices" PopupControlID="pnlAllPrices" BackgroundCssClass="modalBackground" /> 
     <asp:Panel ID="pnlAllPrices" runat="server" Style="display: none; width: 30%; font-size: 8pt; "> 
     <div class="art-blockcontent"> 
         <div class="art-BlockContent-body"> 
          <%--<div style="overflow: auto; width: 100%; height: 200px;">--%> 
          <table width="100%"> 
           <tr> 
            <td align="center"> 
             <div style="overflow: auto; width: 100%; "><%--height: 200px;--%> 
              <asp:GridView ID="grvPriceTypes2" runat="server" AutoGenerateColumns="False"  AllowSorting="true" 
               EmptyDataText="No Data Found." Width="90%" CssClass="cssGrid" BackColor="WhiteSmoke" 
               PagerStyle-HorizontalAlign="Center" OnRowCommand="grvPriceTypes2_OnRowCommand" 
               Enabled="false"> 
               <Columns> 
                <asp:BoundField DataField="StartDate" HeaderText="Start Date"  DataFormatString="{0:MM/dd/yyyy}" 
                 ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25%" /> 
                <asp:BoundField DataField="EndDate" HeaderText="End Date"  DataFormatString="{0:MM/dd/yyyy}" 
                 ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%" /> 
                <asp:BoundField DataField="PriceType" HeaderText="Type"  ItemStyle-HorizontalAlign="Center" 
                 ItemStyle-Width="15%" /> 
                <asp:BoundField DataField="Price" HeaderText="Price"  ItemStyle-HorizontalAlign="right" 
                 ItemStyle-Width="20%" /> 
               </Columns> 
              </asp:GridView> 
             </div> 
            </td> 
           </tr> 
          </table>                
         </div> 
        </div> 
    </asp:Panel> 
    </div> 
</asp:Panel> 

請電話我,我應該在ShowPopUp_AllPrices寫什麼代碼()函數來設置高度和滾動條,該模式彈出。

回答

2

我的問題解決了。我剛纔設置div標籤的「最大高度」樣式屬性,是剛剛超過我的Grid.Like的:

<div style="overflow: auto;max-height:400px; width: 100%;" > 

通過給予「最大高度」下的樣式屬性,當彈出增加高度多於400px,它會自動在該彈出框內提供滾動條。

0
divWindow.dialog({ 
    autoOpen: true,         
    title: "Menu Items", 
    draggable: true, 
    resizable: false, 
    modal: true, 
    width:($(window).width() * .9), 
    height: ($(window).height() * .9), 
    dialogClass: 'dialogFixed', 
    open: function(event, ui) 
}); 
+0

@ scott我正在使用ajax modal poup not div(divWindow)。 –