首页 > 网站 > WEB开发 > 正文

EasyUI datagrid 行编辑

2024-04-27 14:08:16
字体:
来源:转载
供稿:网友

EasyUI datagrid 行编辑

一、HTML:

<div class="info">    <div class="info_tt">        <span class="info_tt1">明细</span> <span class="pucker2"></span><a class="del" onclick="detailDel()"            href="javascript:void(0)">删除</a> <a class="sure" onclick="detailOK()" href="Javascript:void(0)">                确认</a> <a class="add" onclick="detailAdd()" href="javascript:void(0)">添加</a>    </div>    <div>        <table id="detailList">        </table>    </div></div>
View Code

二、JS:

<script type="text/javascript">    $(function () {        //使用JavaScript创建数据表格        $('#detailList').datagrid({            url: '/PMP/EntryNoticeManage/GetDetailList',     //一个用以从远程站点请求数据的超链接地址。控制器/方法            queryParams: {                type: 1,                entryNoticeId: 0,                PRoTaskId: 0            },            iconCls: 'icon-save',            loadMsg: '数据正在加载中,请稍后.....',    //当从远程站点载入数据时,显示的一条快捷信息。            singleSelect: true,               //设置为true将只允许选择一行            fitColumns: true,                  //设置为true将自动使列适应表格宽度以防止出现水平滚动            striped: true,                     //设置为true将交替显示行背景            pagination: false,                  //设置true将在数据表格底部显示分页工具栏。            rownumbers: true,                  //设置为true将显示行数。            pagePosition: 'bottom',            //定义的分页栏的位置。可用的值有 'top','bottom','both'。            sortName: 'creatTime',                    //当数据表格初始化时以哪一列来排序。            sortOrder: 'desc',                  //定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。            idField: 'Id',                     //表明该列是一个唯一列。            onClickRow: detailClickRow,            frozenColumns: [[                  //跟列属性一样,但是这些列固定在左边,不会滚动。                           ]],            columns: [[                         { field: 'Id', title: 'ID', hidden: true },                         { field: 'ProtastDetId', title: 'ProtastDetId', hidden: true },                         { field: 'WorkContent', title: '工作内容', width: 100, align: 'center', sortable: true,                             editor: { type: 'textbox', options: { validType: 'length[1,50]', required: true} }                         },                         { field: 'Remarks', title: '备注', width: 100, align: 'center', sortable: true,                             editor: { type: 'textbox', options: { validType: 'length[0,500]'} }                         }                     ]]        }); //end datagrid        loadgrid(1, "@entryNotice.Id", 0);    });    //明细编辑行索引    var detailEditIndex = undefined;    //明细结束编辑    function detailEndEdit() {        if (detailEditIndex == undefined) { return true }        if ($('#detailList').datagrid('validateRow', detailEditIndex)) {            $('#detailList').datagrid('endEdit', detailEditIndex);            detailEditIndex = undefined;            return true;        } else {            return false;        }    }    //明细点击行    function detailClickRow(index) {        if (detailEditIndex != index) {            if (detailEndEdit()) {                $('#detailList').datagrid('selectRow', index)                                .datagrid('beginEdit', index);                detailEditIndex = index;            } else {                $('#detailList').datagrid('selectRow', detailEditIndex);            }        }    }    //添加行    function detailAdd() {        if (detailEndEdit()) {            $('#detailList').datagrid('appendRow', {});            detailEditIndex = $('#detailList').datagrid('getRows').length - 1;            $('#detailList').datagrid('selectRow', detailEditIndex)                            .datagrid('beginEdit', detailEditIndex);        }    }    //删除行    function detailDel() {        if (detailEditIndex == undefined) { return }        $('#detailList').datagrid('cancelEdit', detailEditIndex)                        .datagrid('deleteRow', detailEditIndex);        detailEditIndex = undefined;    }    //临时保存    function detailOK() {        if (detailEndEdit()) {            $('#detailList').datagrid('acceptChanges');        }    }    //重新查询,显示第一页    function loadgrid(type, entryNoticeId, proTaskId) {        $('#detailList').datagrid('load', {            type: type,            entryNoticeId: entryNoticeId,            proTaskId: proTaskId        });        $('#detailList').datagrid('clearSelections');    }</script>
View Code

三、完整示例页面:

@{    Layout = "~/Views/Shared/_Layout.cshtml";}@using Model.Suya;@using Suya.PMP.Contract.Model;@{    BeforeAllocationModel beforeAllocation = ViewData["BeforeAllocationModel"] as BeforeAllocationModel;}<link href="/Content/Plugins/UploadifyJs/uploadify.CSS" rel="stylesheet" type="text/css" /><script src="/Content/Plugins/UploadifyJs/swfobject.js" type="text/javascript"></script><script src="/Content/Plugins/UploadifyJs/jquery.uploadify-3.1.min.js" type="text/javascript"></script><link href="/Content/Styles/css1/main.css" rel="stylesheet" type="text/css" /><script type="text/javascript">    $(function () {        //使用JavaScript创建数据表格        $('#checkList').datagrid({            url: '/PMP/BeforeAllocationManage/GetCheckList',     //一个用以从远程站点请求数据的超链接地址。控制器/方法            queryParams: {                parentId: "@beforeAllocation.id"            },            iconCls: 'icon-save',            loadMsg: '数据正在加载中,请稍后.....',    //当从远程站点载入数据时,显示的一条快捷信息。            singleSelect: true,               //设置为true将只允许选择一行            fitColumns: true,                  //设置为true将自动使列适应表格宽度以防止出现水平滚动            striped: true,                     //设置为true将交替显示行背景            pagination: false,                  //设置true将在数据表格底部显示分页工具栏。            rownumbers: true,                  //设置为true将显示行数。                           sortName: 'creatTime',                    //当数据表格初始化时以哪一列来排序。            sortOrder: 'desc',                  //定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。            idField: 'Id',                     //表明该列是一个唯一列。            onClickRow: checkClickRow,            onLoadSuccess: function (data) {                calCheckTotal(data.rows);            },            frozenColumns: [[                  //跟列属性一样,但是这些列固定在左边,不会滚动。                           ]],            columns: [[                         { field: 'id', title: 'ID', hidden: true },                         { field: 'checkTime', title: '校对时间', width: 100, align: 'center', sortable: true,                             formatter: dateformatter,                             editor: { type: 'datetimebox', options: { parser: dateparser, required: true} }                         },                         { field: 'baackTime', title: '返回时间', width: 100, align: 'center', sortable: true,                             formatter: dateformatter,                             editor: { type: 'datetimebox', options: { parser: dateparser, required: true} }                         },                         { field: '
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表