- //初始化定义datagrid
- var $dg = $('#orders_datagrid');
- $(() => {
- //定义datagrid结构
- $dg.datagrid({
- rownumbers: true,
- checkOnSelect: false,
- selectOnCheck: true,
- idField: 'Id',
- sortName: 'Id',
- sortOrder: 'desc',
- remoteFilter: true,
- singleSelect: false,
- url: '/Orders/GetDataAsync',
- method: 'get',
- onClickCell: onClickCell,
- pagination: true,
- striped: true,
- onHeaderContextMenu: function (e, field) {
- e.preventDefault();
- $(this).datagrid('columnMenu').menu('show', {
- left: e.pageX,
- top: e.pageY
- });
- },
- onBeforeLoad: function () {
- //datagrid resize when jarvisWidgets resized.
- const that = $(this);
- $(window).on("resize.jarvisWidgets", () => {
- that.datagrid('resize');
- })
- },
- onLoadSuccess: function (data) {
- editIndex = undefined;
- },
- onCheck: function () {
- $("button[name*='deletebutton']").prop("disabled", false);
- },
- onUncheck: function () {
- },
- onSelect: function (index, row) {
- order = row;
- },
- onBeginEdit: function (index, row) {
- //const editors = $(this).datagrid('getEditors', index);
- },
- onEndEdit: function (index, row) {
- editIndex = undefined;
- },
- onBeforeEdit: function (index, row) {
- editIndex = index;
- row.editing = true;
- $("button[name*='deletebutton']").prop("disabled", false);
- $("button[name*='cancelbutton']").prop("disabled", false);
- $("button[name*='savebutton']").prop("disabled", false);
- $(this).datagrid('refreshRow', index);
- },
- onAfterEdit: function (index, row) {
- row.editing = false;
- $(this).datagrid('refreshRow', index);
- },
- onCancelEdit: function (index, row) {
- row.editing = false;
- editIndex = undefined;
- $("button[name*='deletebutton']").prop("disabled", false);
- $("button[name*='savebutton']").prop("disabled", true);
- $("button[name*='cancelbutton']").prop("disabled", true);
- $(this).datagrid('refreshRow', index);
- },
- frozenColumns: [[
- /*开启CheckBox选择功能*/
- { field: 'ck', checkbox: true },
- {
- field: 'action',
- title: '@Html.L("Command")',
- width: 85,
- sortable: false,
- resizable: true,
- formatter: function showdetailsformatter(value, row, index) {
- if (!row.editing) {
- return `<div class="btn-group"> <button onclick="showdetailswindow('${row.Id}', ${index})" class="btn btn-default btn-xs" title="查看明细" ><i class="fa fa-pencil-square-o"></i> </button> <button onclick="deleteRow('${row.Id}',${index})" class="btn btn-default btn-xs" title="删除记录" ><i class="fa fa-trash-o"></i> </button> </div>`;
- } else {
- return `<button class="btn btn-default btn-xs" disabled title="查看明细" ><i class="fa fa-pencil-square-o"></i> </button>`;
- }
- }
- }
- ]],
- columns: [[
- { /*Id*/
- field: 'Id',
- title: '<span class="required">@Html.DisplayNameFor(model => model.Id)</span>',
- width: 120,
- sortable: true,
- resizable: true,
- hidden: true
- },
- { /*订单号*/
- field: 'OrderNo',
- title: '<span class="required">@Html.DisplayNameFor(model => model.OrderNo)</span>',
- width: 130,
- hidden: false,
- editor: {
- type: 'textbox',
- options: { prompt: '@Html.DisplayNameFor(model => model.OrderNo)', required: true, validType: 'length[12,12]' }
- },
- sortable: true,
- resizable: true
- },
- { /*订单所属的客户*/
- field: 'Customer',
- title: '<span class="required">@Html.DisplayNameFor(model => model.Customer)</span>',
- width: 130,
- hidden: false,
- editor: {
- type: 'textbox',
- options: { prompt: '@Html.DisplayNameFor(model => model.Customer)', required: true, validType: 'length[0,30]' }
- },
- sortable: true,
- resizable: true
- },
- { /*发货地址*/
- field: 'ShippingAddress',
- title: '<span class="required">@Html.DisplayNameFor(model => model.ShippingAddress)</span>',
- width: 300,
- hidden: false,
- editor: {
- type: 'textbox',
- options: { prompt: '@Html.DisplayNameFor(model => model.ShippingAddress)', required: true, validType: 'length[0,200]' }
- },
- sortable: true,
- resizable: true
- },
- { /*备注*/
- field: 'Remark',
- title: '@Html.DisplayNameFor(model => model.Remark)',
- width: 260,
- hidden: false,
- editor: {
- type: 'textbox',
- options: { prompt: '@Html.DisplayNameFor(model => model.Remark)', required: false, validType: 'length[0,100]' }
- },
- sortable: true,
- resizable: true
- },
- { /*订单日期默认当天*/
- field: 'OrderDate',
- title: '<span class="required">@Html.DisplayNameFor(model => model.OrderDate)</span>',
- width: 120,
- align: 'right',
- hidden: false,
- editor: {
- type: 'datebox',
- options: { prompt: '@Html.DisplayNameFor(model => model.OrderDate)', required: true }
- },
- formatter: dateformatter,
- sortable: true,
- resizable: true
- },
- ]]
- }).datagrid('columnMoving')
- .datagrid('resetColumns');
- <script src="~/Scripts/easyui/plugins/columns-reset.js"></script>