Jquery easyui datagrid增改删批量处理

<link href="~/Content/themes/default/easyui.css" rel="stylesheet" />

<link href="~/Content/themes/icon.css" rel="stylesheet" />

<script src="~/scripts/jquery.min.js"></script>

<script src="~/scripts/jquery.easyui.min.js"></script>

<script src="~/scripts/easyui-lang-zh_CN.js"></script>

<table id="dg"></table>

<div id="tb">

<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:‘icon-add‘,plain:true" id="addButton">新增</a>

<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:‘icon-remove‘,plain:true" id="delButton">删除</a>

<a href="javascript:void(0);" class="easyui-linkbutton" data-options="plain:true,iconCls:‘icon-save‘" id="saveButton">保存</a>

</div>

<script type="text/javascript">

var editIndex = undefined;

$(function () {

bindData();

bindAddButton();

bindDelButton();

bindSaveButton();

});

function bindData() {

$(‘#dg‘).datagrid({

title: ‘部门管理‘,

url: ‘/Home/GetBranch‘,

pagination: false,

singleSelect: true,

rownumbers: true,

pageNumber: 1,

height: 420,

pageSize: 10,

onClickRow: onClickRow,

pageList: [10, 15, 20, 25, 30],

columns: [[

{ field: ‘ID‘, title: ‘ID‘, hidden: true },

{ field: ‘BrcName‘, title: ‘部门名称‘, editor: "text" },

{ field: ‘BrcComment‘, title: ‘备注‘, editor: "text" }

]],

toolbar: ‘#tb‘

});

}

//编辑状态

function endEditing() {

if (editIndex == undefined) { return true }

if ($(‘#dg‘).datagrid(‘validateRow‘, editIndex)) {

var ed = $(‘#dg‘).datagrid(‘getEditor‘, { index: editIndex, field: ‘productid‘ });

$(‘#dg‘).datagrid(‘endEdit‘, editIndex);

editIndex = undefined;

return true;

} else {

return false;

}

}

//单击某行进行编辑

function onClickRow(index) {

if (editIndex != index) {

if (endEditing()) {

$(‘#dg‘).datagrid(‘selectRow‘, index)

.datagrid(‘beginEdit‘, index);

editIndex = index;

} else {

$(‘#dg‘).datagrid(‘selectRow‘, editIndex);

}

}

}

//添加一行

function append() {

if (endEditing()) {

$(‘#dg‘).datagrid(‘appendRow‘, {});

editIndex = $(‘#dg‘).datagrid(‘getRows‘).length - 1;

$(‘#dg‘).datagrid(‘selectRow‘, editIndex)

.datagrid(‘beginEdit‘, editIndex);

}

}

function append(BrcName, BrcComment) {

if (endEditing()) {

$(‘#dg‘).datagrid(‘appendRow‘, { BrcName: BrcName, BrcComment: BrcComment });

editIndex = $(‘#dg‘).datagrid(‘getRows‘).length - 1;

$(‘#dg‘).datagrid(‘selectRow‘, editIndex)

.datagrid(‘beginEdit‘, editIndex);

}

}

//删除一行

function remove() {

if (editIndex == undefined) { return }

$(‘#dg‘).datagrid(‘cancelEdit‘, editIndex)

.datagrid(‘deleteRow‘, editIndex);

editIndex = undefined;

}

//撤销编辑

function reject() {

$(‘#dg‘).datagrid(‘rejectChanges‘);

editIndex = undefined;

}

//获得编辑后的数据,并提交到后台

function saveChanges() {

if (endEditing()) {

var $dg = $(‘#dg‘);

var rows = $dg.datagrid(‘getChanges‘);

if (rows.length) {

var inserted = $dg.datagrid(‘getChanges‘, "inserted");

var deleted = $dg.datagrid(‘getChanges‘, "deleted");

var updated = $dg.datagrid(‘getChanges‘, "updated");

var effectRow = new Object();

if (inserted.length) {

for (var i = 0; i < inserted.length; i++)

{

if (inserted[i].BrcName == "")

{

alert("BrcName不能为空");

return;

}

}

effectRow["inserted"] = JSON.stringify(inserted);

}

if (deleted.length) {

effectRow["deleted"] = JSON.stringify(deleted);

}

if (updated.length) {

effectRow["updated"] = JSON.stringify(updated);

}

}

}

$.post("/Home/Commit", effectRow, function (rsp) {

if (rsp) {

$dg.datagrid(‘acceptChanges‘);

bindData();

}

}, "JSON").error(function () {

$.messager.alert("提示", "提交错误了!");

});

}

function bindSaveButton() {

$("#saveButton").click(function () {

saveChanges();

});

}

function bindAddButton() {

$("#addButton").click(function () {

append(‘FFF‘, ‘GGG‘);

});

}

function bindDelButton() {

$("#delButton").click(function () {

remove();

});

}

</script>

后台:

public class TestInfo

{

public string ID { get; set; }

public string BrcName { get; set; }

public string BrcComment { get; set; }

}

public JsonResult GetBranch()

{

tests.Add(new TestInfo() { ID = "1", BrcName = "AAA", BrcComment = "bbb" });

tests.Add(new TestInfo() { ID = "2", BrcName = "bbb", BrcComment = "ccc" });

return Json(tests);

}

[HttpPost]

public ActionResult Commit()

{

tests.Add(new TestInfo() { ID = "1", BrcName = "AAA", BrcComment = "bbb" });

tests.Add(new TestInfo() { ID = "2", BrcName = "bbb", BrcComment = "ccc" });

tests.Add(new TestInfo() { ID = "3", BrcName = "FFF", BrcComment = "GGG" });

string deleted = Request.Form["deleted"];

string inserted = Request.Form["inserted"];

string updated = Request.Form["updated"];

if (deleted != null)

{

//把json字符串转换成对象

List<TestInfo> listDeleted = JsonDeserialize<List<TestInfo>>(deleted);

//下面就可以根据转换后的对象进行相应的操作了

}

if (inserted != null)

{

//把json字符串转换成对象

List<TestInfo> listInserted = JsonDeserialize<List<TestInfo>>(inserted);

//下面就可以根据转换后的对象进行相应的操作了

}

if (updated != null)

{

//把json字符串转换成对象

List<TestInfo> listUpdated = JsonDeserialize<List<TestInfo>>(updated);

//

}

Thread.Sleep(3000);

return Content("true");

}

[NonAction]

private T JsonDeserialize<T>(string jsonString)

{

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));

T obj = (T)ser.ReadObject(ms);

return obj;

}

时间: 2024-07-30 09:54:43

Jquery easyui datagrid增改删批量处理的相关文章

jQuery EasyUI Datagrid性能优化专题

jQuery EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能 都望而却步了.本博客以后会带着分析Datagrid组件的性能问题,并且给出优化方案,也希望大家能集思广益,给出一些好的想法. 慢在哪些方面 以目前对Datagrid的了解程度去看待性能问题,主要有以下几点: 加载大数据量时比较慢(不考虑服务端返回数据的时间),这点尤其体现在IE浏览器里面: 大数据量时,加载后,操作很不流畅,勾选慢,sing

jQuery EasyUI datagrid列名包含特殊字符会导致表格错位

首先申明:本文所述的Bug存在于1.3.3以及更高版本中,其它低版本,本人未测试,太老的版本不想去折腾了. 洒家在写前端的SQL执行工具时,表格用了 jQuery EasyUI datagrid,因为用户的SQL是千奇百怪的,所以出现了诸如:"BLOCKS*8/1024","trunc(SYSDATE)"之类的列名(field)时,表格就会错位,而且含有特殊字符的列无法手工调整大小. 经分析,datagrid组件在画表格的时候会在宿主DOM后动态追加一个style节

jquery easyui datagrid 排序列

点击排序列,将获取参数有:page=1&rows=10&sort=UserName&order=desc c#后台获取sort跟order参数 string sortColumn = Request.Params["sort"].ToString(); string order = Request.Params["order"].ToString(); jquery easyui datagrid 排序列,布布扣,bubuko.com

Jquery easyui datagrid 导出Excel

datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <script> 2 /** 3 Jquery easyui datagrid js导出excel 4 修改自extgrid导出excel 5 * allows for downloading of grid data (store) directly into excel 6 * Method: extracts data of gridPanel store, uses columnModel to constru

jquery easyui datagrid设置行样式 不可删除某行

rowStyler: function (index,row) { if (parseInt(row.ksrs) > 0) { return 'color:red'; } }, onLoadSuccess:function(data){ var rows = data.rows; for (var j = 0; j < rows.length; j++) { if (parseInt(rows[j]["ksrs"]) > 0) { $(".datagrid-

每天一点数据库之-----Day 3 数据的增改删

每天一点数据库之-----Day 3 数据的增改删 ----转载请注明出处:coder-pig 本节引言: 本节介绍的是,往数据库中添加数据,更新数据以及删除数据 1)往表中添加数据: 上一节,我们把T_Person表给删除了,先创建一个T_Person表,顺道复习下: CREATE TABLE T_Person ( FId INTEGER NOT NULL, FName VARCHAR (20), FAge INTEGER , FSex VARCHAR (10) PRIMARY KEY (FI

JQuery easyUi datagrid 中 editor 动态设置最大值最小值

前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考. 问题 JQuery easyUi datagrid 可编辑行的editor属性具有 min 和 max 属性,设置可以输入的最大值和最小值,但是这个是固定的,如下: [html] view plain copy {field:'workRate',title:'<%/*填报*/%><bean:message key="task.wo

jQuery EasyUI datagrid实现本地分页的方法

本文实例讲述了jQuery EasyUI datagrid实现本地分页的方法.分享给大家供大家参考.具体如下: 一般分页都是后台做,前端做无论从哪方面考虑都不合适.但是有的时候还是有这种需求. 这里重点用到了pagination的监听,以及JS数组的slice方法来完成.代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3

jQuery EasyUI DataGrid API 中文文档

扩展自$.fn.panel.defaults,用 $.fn.datagrid.defaults重写了 defaults . 依赖 panel resizable linkbutton pagination 用法 1.  <table id="tt"></table> 1.  $('#tt').datagrid({ 2.      url:'datagrid_data.json', 3.      columns:[[ 4.          {field:'co