溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發(fā)技術(shù) > 
  • 基于MVC+EasyUI的Web開發(fā)框架經(jīng)驗總結(jié)(13)--DataGrid控件實現(xiàn)自動適應寬帶高度

基于MVC+EasyUI的Web開發(fā)框架經(jīng)驗總結(jié)(13)--DataGrid控件實現(xiàn)自動適應寬帶高度

發(fā)布時間:2020-07-16 07:29:26 來源:網(wǎng)絡 閱讀:373 作者:wuhuacong 欄目:開發(fā)技術(shù)

在默認情況下,EasyUI的DataGrid好像都沒有具備自動寬度的適應功能,一般是指定像素寬度的,但是使用的人員計算機的屏幕分辨率可能不一樣,因此導致有些地方顯示太大或者太小,總是不能達到好的預期效果,如果DataGrid能夠根據(jù)窗口尺寸進行伸縮,效果應該好很多。本文主要介紹DataGrid控件實現(xiàn)自動適應寬帶高度的操作。

首先我們需要定義一個resizeDataGrid的擴展函數(shù),方便在頁面里面進行調(diào)用,擴展函數(shù)定義如下所示。

//datagrid寬度高度自動調(diào)整的函數(shù)
$.fn.extend({
    resizeDataGrid: function (heightMargin, widthMargin, minHeight, minWidth) {
        var height = $(document.body).height() - heightMargin;
        var width = $(document.body).width() - widthMargin;
        height = height < minHeight ? minHeight : height;
        width = width < minWidth ? minWidth : width;
        $(this).datagrid('resize', {
            height: height,
            width: width
        });
    }
});

 定義好上面的函數(shù)后,我們就可以在頁面里面使用Javascript進行調(diào)用,調(diào)用方法如下所示:$('#grid').resizeDataGrid。

var heightMargin = $("#toolbar").height() + 60;
var widthMargin = $(document.body).width() - $("#tb").width();
// 第一次加載時和當窗口大小發(fā)生變化時,自動變化大小
$('#grid').resizeDataGrid(heightMargin, widthMargin, 0, 0);
$(window).resize(function () {
	$('#grid').resizeDataGrid(heightMargin, widthMargin, 0, 0);
});

通過上面的代碼,我們就可以定義兩個高度、寬度的邊界,但是這些我們不應該固定化,應該通過一些界面代碼的對象動態(tài)獲取邊框大小。

 HTML代碼如下所示。

<div id="tb" >
	<!-------------------------------搜索框----------------------------------->
	<fieldset>
		<legend>信息查詢</legend>
		<form id="ffSearch" method="post">
			<div id="toolbar">
				<table cellspacing="0" cellpadding="0">
					<tr>
						 <th>
							<label for="txtProvinceName">省份名稱:</label>
						</th>
						<td>
							<input type="text" ID="txtProvinceName" name="txtProvinceName"   />
						</td>
						<td colspan="2">
							<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" id="btnSearch">查詢</a>
							<a href="javascript:void(0)" class="easyui-linkbutton" id="btnImport" iconcls="icon-excel" onclick="ShowImport()">導入</a>
							<a href="javascript:void(0)" class="easyui-linkbutton" id="btnExport" iconcls="icon-excel" onclick="ShowExport()">導出</a>
						</td>
					  </tr>
				</table>
			</div>
		</form>
	</fieldset>
			
	<!-------------------------------詳細信息展示表格----------------------------------->
	<table id="grid"  title="用戶操作" data-options="iconCls:'icon-view'">            
	</table>
</div>

這個界面效果如下所示。

基于MVC+EasyUI的Web開發(fā)框架經(jīng)驗總結(jié)(13)--DataGrid控件實現(xiàn)自動適應寬帶高度

其他類似的界面類似效果如下所示。

對比上面的界面,下面的界面增加了左邊一個面板,這里的代碼也不需要特殊的設置。

var heightMargin = $("#toolbar").height() + 40;
var widthMargin = $(document.body).width() - $("#tb").width() + 20;
// 第一次加載時和當窗口大小發(fā)生變化時,自動變化大小
$('#grid').resizeDataGrid(heightMargin, widthMargin, 0, 0);
$(window).resize(function () {
	$('#grid').resizeDataGrid(heightMargin, widthMargin, 0, 0);
});

上面的代碼也只是根據(jù)效果進行了一些微調(diào),基本和第一部分的設置寬度代碼差不多。

也可以使用布局 class="easyui-layout" 進行調(diào)整,使DataGrid表格能夠進行自動調(diào)整。

<div class="easyui-layout" data-options="fit:true" id="tb">
	<div data-options="region:'north'" >
		<!-------------------------------搜索框----------------------------------->
		<fieldset>
			<legend>信息查詢</legend>
			<form id="ffSearch" method="post">
				<div id="toolbar">
					<table cellspacing="0" cellpadding="0">
						<tr>
							<th>
								<label for="txtProvinceName">省份名稱:</label>
							</th>
							<td>
								<input type="text" id="txtProvinceName" name="txtProvinceName"  />
							</td>
							<td colspan="2">
								<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" id="btnSearch">查詢</a>
								<a href="javascript:void(0)" class="easyui-linkbutton" id="btnImport" iconcls="icon-excel" onclick="ShowImport()">導入</a>
								<a href="javascript:void(0)" class="easyui-linkbutton" id="btnExport" iconcls="icon-excel" onclick="ShowExport()">導出</a>
							</td>
						</tr>
					</table>
				</div>
			</form>
		</fieldset>
	</div>
	<div data-options="region:'center'">
		<!-------------------------------詳細信息展示表格----------------------------------->
		<table id="grid" title="用戶操作" data-options="iconCls:'icon-view'" fit="true"></table>
	</div>
</div>

基于MVC+EasyUI的Web開發(fā)框架經(jīng)驗總結(jié)(13)--DataGrid控件實現(xiàn)自動適應寬帶高度

基于MVC+EasyUI的Web開發(fā)框架經(jīng)驗總結(jié)(13)--DataGrid控件實現(xiàn)自動適應寬帶高度


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI