.net mvc mssql easyui treegrid 及时 编辑 ,支持拖拽
这里提到了,1个问题,怎么扩展 Easyui
参见: http://blog.csdn.net/chenkai6529/article/details/17528833
@{
ViewBag.Title = "Index2";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<!--支持拖拽的插件-->
<script src="~/jquery-easyui-1.4.2/Extension/treegrid-dnd.js"></script>
<input type="radio" name="OperationType" value="">
<span name="OperationSpan" style="cursor: pointer">编辑模式</span>
<input type="radio" name="OperationType" value="">
<span name="OperationSpan" style="cursor: pointer">拖拽模式</span>
<table id="MenuTree" title="Menu" class="easyui-treegrid" style="height: 700px; width: 850px;" data-options="
rownumbers:true,
method:'post',
url:'@Url.Action("Index2")',
treeField:'MenuName',
fixed:true,
idField:'id',
onClickCell:onClickCell,
onLoadSuccess: function(row){
$(this).treegrid('enableDnd', row?row.id:null);
},
onDrop: onDrop,
onAfterEdit:onAfterEdit
">
<thead>
<tr>
<th data-options="field:'id',checkbox:true"></th>
<th data-options="field:'MenuName',editor:'text'">MenuName</th>
<th data-options="field:'Url',editor:'text'">Url</th>
<th data-options="field:'MenuNo'">MenuNo</th>
</tr>
</thead>
</table>
<script>
//扩展方法 摘自 :http://blog.csdn.net/chenkai6529/article/details/17528833
// if 里面 的没有看明白 else 里面的代码和后面的代码 ,意思是 所有节点 设置 draggable 为 disabled: true
$.extend($.fn.treegrid.methods, {
disableDnd: function (jq, id) {
return jq.each(function () {
var target = this;
var state = $.data(this, 'treegrid');
state.disabledNodes = [];
var t = $(this);
var opts = state.options;
if (id) {
var nodes = opts.finder.getTr(target, id);
var rows = t.treegrid('getChildren', id);
for (var i = ; i < rows.length; i++) {
nodes = nodes.add(opts.finder.getTr(target, rows[i][opts.idField]));
}
} else {
var nodes = t.treegrid('getPanel').find('tr[node-id]');
}
nodes.draggable({
disabled: true,
revert: true,
cursor: 'pointer'
});
});
}
}); var SelectId;//当前编辑行的Id
var OperationType;// 操作模式 (编辑或拖拽) function onClickCell(index, field, data) {
var Type = $("[name='OperationType']:checked").val();
if (Type == "") {
$('#MenuTree').treegrid('disableDnd');
if (SelectId != undefined) {
$('#MenuTree').treegrid('endEdit', SelectId);
}
SelectId = field.id;
$('#MenuTree').treegrid('beginEdit', SelectId)
}
} function onDrop(targetRow, sourceRow, point) {
// 记录 拖拽 的 数据
} function onAfterEdit(row, changes) {
for (change in changes) {
//记录 修改 的 数据
}
} $(document).ready(function () {
$("[name='OperationType']").click(function () {
OperationType = $(this).val();
if (OperationType == "") {
} else {
document.getElementsByName('OperationType')[].checked = true;
$('#MenuTree').treegrid('endEdit', SelectId);
$('#MenuTree').treegrid('enableDnd');
}
}); $("[name='OperationSpan']").click(function () {
if (this.innerText == "编辑模式") {
OperationType = "";
document.getElementsByName('OperationType')[].checked = true;
} else {
OperationType = "";
document.getElementsByName('OperationType')[].checked = true;
$('#MenuTree').treegrid('endEdit', SelectId);
$('#MenuTree').treegrid('enableDnd');
}
}); document.getElementsByName('OperationType')[].checked = true;// 设置默认为编辑模式
});
</script>
效果图:
数据源、后台代码 参见 上一篇 http://www.cnblogs.com/bingguang/p/4496951.html
未完、待续~ 后台执行代码还没有写.
.net mvc mssql easyui treegrid 及时 编辑 ,支持拖拽的更多相关文章
- .net mvc mssql easyui treegrid
效果图 数据图 可以看到 这里是根据 MenuNo 来 分级别的,支持 无限极,第一级是 01 ,第二级就是 01XX ,第三级 就是 01XXOO.类似 id.pid ,Ztree 里面 也是这 ...
- GMF Q&A(1): 如何让palette支持拖拽(DnD)等10则
1,如何让palette支持拖拽(DnD) 在*PaletteFactory类中,把私有类NodeToolEntry 和LinkToolEntry的基类修改为PaletteToolEntry.并在构造 ...
- 一个可以自由定制外观、支持拖拽消除的MaterialDesign风格Android BadgeView
为了尊重作者,先放上链接:https://github.com/qstumn/BadgeView BadgeView 一个可以自由定制外观.支持拖拽消除的MaterialDesign风格Android ...
- 关于安装了VMware tools后仍然不支持拖拽文件的问题
我在学校机房里面的redhat4上面安装了VMware tools之后能正常支持拖拽,但是我自己电脑上的却不支持,折腾了好久,网上找了很久也还是没有解决,不过发现了一些问题,总结如下:(当然我总结的这 ...
- 让一个view 或者控件不支持拖拽
让一个view 或者控件不支持拖拽: dragView.userInteractionEnabled = NO;
- jQuery插件之路(三)——文件上传(支持拖拽上传)
好了,这次咱一改往日的作风,就不多说废话了,哈哈.先贴上源代码地址,点击获取.然后直接进入主题啦,当然,如果你觉得我有哪里写的不对或者欠妥的地方,欢迎留言指出.在附上一些代码之前,我们还是先来了解下, ...
- Qt无边框窗体-最大化时支持拖拽还原
目录 一.概述 二.效果展示 三.demo制作 1.设计窗体 2.双击放大 四.拖拽 五.相关文章 原文链接:Markdown模板 一.概述 用Qt进行开发界面时,既想要实现友好的用户交互又想界面漂亮 ...
- PyQt5控件支持拖拽方法
让控件支持拖拽动作A.setDragEnable(True) 设置A可以拖动B.setAcceptDrops(True) 设置B可以接受拖动B需要满足两个事件1.dragEnterEvent 将A拖到 ...
- WinForm支持拖拽效果
有一个MSDN客户提问在WinForm中如何实现拖拽效果——比如在WinForm中有一个Button,我要实现的效果是拖拽这个Button到目标位置后生成一个该控件的副本. 其实这个操作主要分成三步走 ...
随机推荐
- Spring FrameWork4(MVC + IOC)高速入门实例
使用Maven创建project并配置依赖项 首先创建一个Maven Project: 然后选择创建Maven 的webapp实例,当然也能够通过命令行方式创建Maven webapp的项目再转化并导 ...
- Struts2 拦截器—拦截action
对于拦截器的基本使用这里我就懒得打字了,我这里就讲下如何用 Struts2 拦截器 拦截action.这是我个人的想法,如果有什么不对的,或者你们有什么更好的方法.请多多留言! 拦截器的默认拦截的方法 ...
- 学习json-rpc
最近做一个和SmartHome相关的项目,文档不全不说,连个像样的Demo都没,痛苦!!当然,这是题外话.今天来说说项目中主要用到的通讯协议:json-rpc,简单地说,它是以json格式进行的远程调 ...
- c#-RTF文本编辑器
1".RTF"什么? 多信息文本格式 (RTF) 是一种方便于不同的设备.系统查看的文本和图形文档格式. RTF 使用美国国内标准协会 (ANSI). PC-8. Macintos ...
- MEF初体验之九:部件生命周期
理解MEF容器中部件的生命周期及其含义是非常重要的.鉴于MEF重点在开放端应用程序,这将变得尤其重要的,一旦app ships和第三方扩展开始运行,作为应用程序的开发者将很好地控制这一系列的部件.生命 ...
- C# - Abstract Classes
Abstract classes are closely related to interfaces. They are classes that cannot be instantiated, ...
- STL源代码分析 集装箱 stl_set.h
本文senlie原版的,转载请保留此地址:http://blog.csdn.net/zhengsenlie set ------------------------------------------ ...
- sql server 2008如何导入mdf,ldf文件
sql server 2008怎样导入mdf,ldf文件 网上找了非常多解决sql server导入其它电脑拷过来的mdf文件,多数是不全.遇到的解决方法不一样等问题,下边是找到的解决这个问题的最 ...
- 揭秘上海传智播客平均工资超过7k
其中一位知情人士
大学毕业生人数破700万大关.如何破解"毕业即失业"中国式的大学困境? 2014年全国高校毕业生总数将达到727万人,比被称为"史上最难就业年"的2013年再添 ...
- 基于VMware的虚拟Linux集群搭建-lvs+keepalived
基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...