亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Asp.Net中使用JQueryEasyUI

發布時間:2020-06-21 11:30:27 來源:網絡 閱讀:2175 作者:oec2003 欄目:編程語言
最近做一個小工具,列表顯示頁面準備使用JQuery的UI框架,因為之前知道有jQWidgets這個框架,所以直接就下載下來使用了,jQWidgets的功能很強大,Demo和文檔也非常詳細,但使用后發現有幾個問題就果斷放棄了使用jQWidgets:
  • 頁面加載速度比較慢;
  • 當列表字段過多出現橫向滾動條時,拖動滾動條非常卡(在IE下都很卡,Chrome好點);
  • 分頁取數稍顯麻煩,也可能是我沒研究透。
經過一番比較選擇了JQueryEasUI,目前最新版本為1.3.1:
  • 官方下載
  • 官方演示
  • 官方文檔
其實是用類似的框架,看看官網的文檔也就OK了,本文是我最近是用JQueryEasyUI的一個總結,也可以讓初使用JQueryEasyUI的朋友少走彎路。

下載引用

下載后解壓的文件目錄如下圖:
在Asp.Net中使用JQueryEasyUI
  • demo:JQueryEasyUI的一些示例頁面,在項目使用可以將該目錄刪除;
  • locale:該目錄中是一些本地化文件,用來支持不同的語言,如中文可以引用其中的easyui-lang-zh_CN.js;
  • plugins和src:這兩個目錄中是支持JQueryEasyUI各種功能的js文件;
  • themes:主題目錄,目錄中有三種主題,default、gray和metro,另外還有一個icons目錄和icon.css,在頁面使用引用icon.css即可。
使用JQueryEasyUI需要引用四個文件,兩個css和兩個js文件:
<link rel="stylesheet" type="text/css" href="../Scripts/jqueryeasyui/themes/gray/easyui.css" />
<link rel="stylesheet" type="text/css" href="../Scripts/jqueryeasyui/themes/icon.css" />
<script type="text/javascript" src="../Scripts/jqueryeasyui/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="../Scripts/jqueryeasyui/jquery.easyui.min.js"></script>
如果需要使用本地化 還需要引用:
<script type="text/javascript" src="../Scripts/jqueryeasyui/locale/easyui-lang-zh_CN.js"></script>

JQueryEasyUI Grid的分頁

根據官網的文檔可以很容易的構建Grid,期初我沒有引用本地化文件easyui-lang-zh_CN.js,列表的分頁欄顯示出來是英文的,在網上查閱后得知可以用代碼的方式重新構建分頁欄:
//設置分頁控件  var p = $('#dg').datagrid('getPager');
$(p).pagination({
    pageSize: 10, //每頁顯示的記錄條數,默認為10  pageList: [10, 20, 30, 40, 50], //可以設置每頁記錄條數的列表  beforePageText: '第', //頁數文本框前顯示的漢字 
    afterPageText: '頁    共 {pages} 頁',
    displayMsg: '當前顯示 {from} - {to} 條記錄 共 {total} 條記錄'
    /*onBeforeRefresh:function(){              $(this).pagination('loading');              alert('before refresh');              $(this).pagination('loaded');          }*/
}); 
后來發現只需要引用本地化文件easyui-lang-zh_CN.js后分頁欄就自動顯示為中文了。引用本地化文件還可以解決日歷控件格式的問題,所以如果是做中文系統建議還是在頁面中引用本地化文件。

JQueryEasyUI控件的取值

使用JQuery取控件的值很簡單,如下:
$("#CstName").val();
$("#TaskNo").val(),
如果要使用JQueryEasyUI的日歷控件、下拉控件或其他的一些控件,給普通的input、select控件添加一個class即可:
<input id="FeedBackDate" name="FeedBackDate" class="easyui-datebox" maxlength="10"
 style="width: 150px;" />
<select id="IsKfCl" class="easyui-combobox" name="IsKfCl" style="width:150px;"> 
    <option value=""></option>   
    <option value="是"></option>  
    <option value="否"></option>  
</select> 
現在取這些控件的值需要使用下面的方法:
$("#FeedBackDate").datebox("getValue");
$("#IsKfCl").combobox("getValue");

Grid ToolBar的兩種方式

通常在Grid列表控件的上方會添加一些按鈕如:新增、編輯、刪除等,如下面效果:
在Asp.Net中使用JQueryEasyUI
在JQueryEasyUI中可以使用ToolBar來實現,ToolBar可以在DataGrid初始化時定義,如下:
$('#dg').datagrid({
    collapsible: false,
    fitColumns: true,
    singleSelect: true,
    remoteSort: false,
    sortName: 'RoleName',
    sortOrder: 'desc',
    nowrap: true,
    method: 'get',
    loadMsg: '正在加載數據...',
    url: '...',
    frozenColumns: [[
        { field: 'ck', checkbox: true }
    ]],
    columns: [[
        { field: 'ID', title: 'ID',  80, sortable: true },
        { field: 'Name', title: '名稱',  100,sortable:true }
    ]],
    pagination: true,
    pageNumber: 1,
    rownumbers: true,
    toolbar:
    [
        {
            id: 'btnAdd',
            text: '添加',
            iconCls: 'icon-add',
            handler: function() {
                $("#name").val("");
                add();
            }
        },
        '-',
        {
            id: 'btnEdit',
            text: '編輯',
            iconCls: 'icon-edit',
            handler: function() {
                var selected = $('#dg').datagrid('getSelected');
                if (selected) {
                    var name = selected.Name;
                    $("#Name").val(name);
                    edit();
                }
            }
        },
        '-',
        {
            id: 'btnDelete',
            text: '刪除',
            disabled: true,
            iconCls: 'icon-remove',
            handler: function() {
            }
        }
    ]
});
        });
還有一種方法就是將ToolBar單獨定義在div中,然后在DataGrid的初始化時關聯div的ID,首先定義ToolBar的div,ID為tb:
<!--工具欄-->
<div id="tb" style="padding: 5px; height: auto;display:none;">
    <div style="margin-bottom: 5px">
        <a href="#" class="easyui-linkbutton" iconcls="icon-add" onclick="add()">新增</a>
        <a href="#" class="easyui-linkbutton" iconcls="icon-edit" onclick="edit()">編輯-</a>
        <a href="#" class="easyui-linkbutton" iconcls="icon-edit" onclick="copyAdd()">拷貝′</a>
        <a href="#" class="easyui-linkbutton" iconcls="icon-cut" onclick="copyVss()">復制地址·</a>
        <a href="#" class="easyui-linkbutton" iconcls="icon-save" onclick="downReg()">下載REG</a>
        <a href="#" class="easyui-linkbutton" iconcls="icon-remove" onclick="del()">刪除y</a>
        <!--查詢區域-->
        區域:<input id="seaArea" style="width: 100px" />
        客戶名稱:<input id="seaCstName" style="width: 100px" />
        <a href="#" class="easyui-linkbutton" iconcls="icon-search" onclick="searchSrcCode()">查詢</a>
    </div>
</div>
在DataGrid的初始化時設置toobar屬性值為tb:
pagination: true,
pageNumber: 1,
rownumbers: true,
toolbar: '#tb',
...
單獨定義ToolBar個人認為要靈活些,也會讓JS代碼簡潔些。

Form表單的提交

上面說過了列表的顯示,下面就來講下數據的提交,有兩種方式可以實現:
  • 自己組織數據然后用Ajax(GET POST)提交;
  • 使用Form表單提交的方式。
我在剛使用的時候是使用的第一種方法:
//保存
function saveFeedBackLog(mode,id) {
    $.ajax({
        type: "POST",
        dataType: "json",
        //cache:true,
        url: "../Ajax/FeedBackLogAjax.ashx?Method=SaveFeedBackLog",
        data: { FeedBackDate: $("#FeedBackDate").datebox("getValue"),
            CstName: $("#CstName").val(),
            TaskNo: $("#TaskNo").val(),
            FeedBackContent: $("#FeedBackContent").val(),
            CsZrr: $("#CsZrr").combobox("getValue"),
            CsYzResult: $("#CsYzResult").val(),
            IsKfCl: ,
            KfZrr: $("#KfZrr").combobox("getValue"),
            EndDate: $("#EndDate").datebox("getValue"),
            KfClDate: $("#KfClDate").val(),
            Wtyy: $("#Wtyy").val(),
            Mode:mode,
            ID:id
        },
        success: function (data) {
        //..........
當頁面字段比較多的時候會比較麻煩,保存時需要將每個字段的值逐一取出傳送到后臺,編輯時也需要將行中各字段的值逐一取出賦給表單中的控件,后來發現JQueryEasyUI提供Form的Ajax提交的方式,會使代碼精簡很多,而且使用Form表單提交的方式還能用到JQueryEasyUI提供的一些驗證控件。
編輯時賦值給表單
function edit() {
    var rowData = $('#dg').datagrid('getSelections');
    if (rowData.length == 0) {
        $.messager.alert('提示', '請選擇要編輯的項!','info');
    }
    else if (rowData.length > 1) {
        $.messager.alert('提示', '只能選擇一項進行編輯!','info');
    }
    else {
        _mode = "2";
        var row = $('#dg').datagrid('getSelected');
        openDialog();
        $('#fm').form('load', row);
        _srcCodeManageID = row.SrcCodeManageID;
        url = "../Ajax/SrcCodeManageAjax.ashx?Method=SaveSrcCodeManage&ID=" + row.SrcCodeManageID+"&Mode="+_mode;
    }
}
保存
//保存
function saveSrc() {
    $('#fm').form('submit', {
        url: url,
        onSubmit: function () {
            return $(this).form('validate');
        },
        success: function (data) {
            if (data =="Success") {
                $('#dlg').dialog('close');      // close the dialog  
                $('#dg').datagrid('reload');    // reload the user data  
                $.messager.alert('提示', '保存成功!', 'info');
            }
            else if (data=="Error")
            {
                $.messager.alert('錯誤', '系統出錯!', 'error');
            }
        }
    });  
}
可以看出第二種方法相比第一種代碼精簡了很多,而且保存時還能用到表單的一些校驗,比如設置必填項、電話、郵件格式等。
當然JQueryEasyUI還有很多其他的控件和功能,有待以后慢慢研究,希望本文對你有所幫助。
向AI問一下細節

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

AI

乌兰察布市| 龙海市| 秦安县| 崇明县| 木兰县| 平武县| 新沂市| 阳春市| 曲麻莱县| 湖南省| 娱乐| 诸暨市| 从化市| 门源| 开平市| 布尔津县| 图们市| 自贡市| 高陵县| 东港市| 仙游县| 修武县| 集安市| 喀喇| 枣强县| 岢岚县| 高阳县| 黄陵县| 新丰县| 肃宁县| 平江县| 清原| 抚远县| 南宁市| 伊吾县| 滨海县| 洛隆县| 奉贤区| 象山县| 临沭县| 莲花县|