easyui treegrid增、删、改及批量保存
treegrid添加新行和删除行的方法:
添加和删除直接调用这两个方法即可,修改的方法有点特殊,treegrid没有提供update方法,设置行为编辑状态,$('#obj_tgd_objectlist').treegrid('select', index.PLM_ID)
.treegrid('beginEdit', index.PLM_ID);直接在行上编辑
添加新行:
function obj_tgd_append() {
var obj_node = $('#obj_tgd_objectlist').treegrid('getSelected');
if (obj_node) {
if (obj_endEditing(obj_node)) {
var obj_plm_id = obj_editingId = guid().toUpperCase();
$('#obj_tgd_objectlist').treegrid('append', {
parent: obj_node.PLM_ID,//treegrid 父id 必须指定
data: [{
PLM_ID: obj_plm_id,//treegrid id
PLM_PID: obj_node.PLM_ID,
PLM_LABLE: ''//tree节点名称
}]
});
$('#obj_tgd_objectlist').treegrid('beginEdit', obj_editingId);
}
}
else {
}
}
删除行:
function obj_tgd_removeit() {
var obj_node = $('#obj_tgd_objectlist').treegrid('getSelected');
if (obj_node) {
if (obj_endEditing(obj_node)) {
$.messager.confirm('确认', '您确定要删除此选中行吗?', function (r) {
obj_editingId = obj_node.PLM_ID;
if (r) {
obj_tgd = $('#obj_tgd_objectlist');
obj_tgd.treegrid('cancelEdit', obj_editingId).treegrid('remove', obj_editingId);//obj_editingId 指定删除的行
obj_editingId = undefined;
}
});
}
}
}
批量保存:
function save() {
var obj_tgd = $('#obj_tgd_objectlist');
obj_editingId == undefined ? undefined : obj_endEditing('');
if (obj_tgd.treegrid('getChanges').length == 0)//未操作,不保存
return;
//同datagrid 一样 分别取修改、新增和删除的行数据
var obj_inserted = JSON.stringify(obj_tgd.treegrid('getChanges', "inserted"));
var obj_deleted = JSON.stringify(obj_tgd.treegrid('getChanges', "deleted"));
var obj_updated = JSON.stringify(obj_tgd.treegrid('getChanges', "updated")); //otype: this[frmname + 'savetype'],
var data = {
add: obj_inserted,
update: obj_updated,
delete: obj_deleted,
};
alert(JSON.stringify(data));
$.ajax({
type: "POST",
url: 'Home/Save',
dataType: "json",
data: data,
success: function (rarg) {
if (rarg.err == undefined) {
$.messager.show({ title: '提示',
msg: '保存成功.',
timeout: 3000,
showType: 'slide'
});
}
else $.messager.alert('提示', rarg.err);
//refreshTab();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$.messager.alert('提示', '保存失败,ajax访问失败');
}
});
easyui treegrid增、删、改及批量保存的更多相关文章
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- C# ADO.NET (sql语句连接方式)(增,删,改)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
- StringBuilder修改字符串内容,增,删,改,插
package seday01;/** * 字符串不变对象特性只针对字符串重用,并没有考虑修改操作的性能.因此String不适合频繁修改内容. * 若有频繁修改操作,使用StringBuilder来完 ...
随机推荐
- C++ Any 任意基础类型封装
下面是本人使用C++封装的一个针对任意基础类型以及用户自定义类型指针的通用类型.目的是为方便常用类型使用统一化及便利化.该类型的使用就与平时使用基础类型基本没什么差别.具体可参看以下代码及测试代码. ...
- 每天一个linux命令21之ln: linux 下的软链和硬链
首先理解一下一下inode:Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件. 表面上,用户通过文件名,打开文件.实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应 ...
- ElasticSearch安装为Windows服务
目前我都是在windows的环境下操作是Elasticsearch,并且喜欢使用命令行 启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch 这样直接启动的话集 ...
- 让SignalR客户端回调支持强类型
几天写一个小程序的时候用到了SignalR,发现现在SingalR Server 支持强类型了,也就是说,我们可以定义一个客户端的通知契约: public interface IClient { ...
- Vue 小项目的最佳实践
项目简介 目前一期只是为App内某个模块资讯模块文章的分享和APP下载,后续还会有更多的功能,为了项目可扩展.可伸缩结合了我以前的实践搭建了此项目项目地址,如果这个简单的项目能给您带来帮助请给小哥哥⭐ ...
- Android Parcel对象详解
关于Parcel的使用 在分析Parcel之前,首先按照分析流程,介绍下关于Parcel的相关常规使用. 首先是关于Parcel的获取: Parcel parcle = Parcel.Obtain() ...
- toFixed()方法
1.定义 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 2.示例 Show the number 13.37 with one decimal: <script t ...
- BrowserSync-多浏览器测试工具
阅读目录 自动刷新 介绍BrowserSync BrowserSync具体使用 BrowserSync配合gulp 自动刷新 自动刷新,顾名思义,就是不用我们去F5刷新.假设有一天我们写代码,只需要c ...
- Spring与Quartz的整合
Quartz Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调度作业.它实现了作业和触发器的多 ...
- 流畅的python第十六章协程学习记录
从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数.可是,在协程中,yield 通常出现在表达式的右边(例如,datum = yield),可以产出值,也可以不产出——如果 yi ...