- 浏览: 235726 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
月度银墙:
wangxiang243 写道不错 !但是ext4中六月和十二 ...
ext2,3,和4 版本 只显示年月的日期插件 -
38123978:
你好,我最近在看cassandra的性能,我想问一下5000万 ...
Cassandra学习笔记3 -
zhaojinmeng:
您好楼主,extjs5要怎么扩展啊?求指导
ext2,3,和4 版本 只显示年月的日期插件 -
love_wting:
为什么下拉框的表格样式显示了,数据访问json也从数据库中取到 ...
Extjs 下拉grid -
laungcisin:
yangxiutian 写道另外Ext4.2.1还故意把x-m ...
ext2,3,和4 版本 只显示年月的日期插件
<script> var meta = [ {header:'编号',dataIndex:'id', name: 'id'}, {header:'名称',dataIndex:'name', name: 'name'}, {header:'描述',dataIndex:'descn', name: 'descn'}, {header:'日期',dataIndex:'date', name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s', renderer: Ext.util.Format.dateRenderer('Y-m-d')} ]; var data = [ ['1','name1','descn1','1970-01-15T02:58:04'], ['2','name2','descn2','1970-01-15T02:58:04'], ['3','name3','descn3','1970-01-15T02:58:04'], ['4','name4','descn4','1970-01-15T02:58:04'], ['5','name5','descn5','1970-01-15T02:58:04'] ]; var grid = new Ext.grid.GridPanel({ height: 380, width: 450, renderTo: Ext.getBody(), enableDragDrop: true, title: '通过拖拽Grid改变行的顺序', frame: true, enableDrag: true, store: new Ext.data.Store({ autoLoad: true, proxy: new Ext.data.MemoryProxy(data), reader: new Ext.data.ArrayReader({}, meta) }), columns: meta, viewConfig: { columnsText: '显示的列', scrollOffset: 30, sortAscText: '升序', sortDescText: '升序', forceFit: true }, stripeRows: true, autoExpandColumn: 1, tbar: [{ text: '上移', iconCls: 'up', scope: this, handler: function(){ buttonMove(-1); } }, { text: '下移', iconCls: 'down', scope: this, handler: function(){ buttonMove(1); } }, '-', { text: '保存', iconCls: 'save', scope: this, handler: function(){ var ds = grid.getStore(); var sortIndex = []; for (var i = 0; i < ds.getCount(); i++) { sortIndex.push(ds.data.items[i].id); } Ext.fly('op').dom.value += '------------\n' + sortIndex + '\n'; Ext.Ajax.request({ url: 'gridDD_sort.ashx?act=save', params: { sortIndex: sortIndex }, success: function(response, op){ var msg = response.responseText; var obj = Ext.decode(msg); if (obj) { msg = obj.success?"新的行顺序已保存!":obj.data; } Ext.Msg.alert('信息', msg); }, failure: function(response, op){ Ext.Msg.alert('信息', response.responseText); } }); } }] }); function buttonMove(toward){ var sm = grid.getSelectionModel(); var data = sm.getSelections(); if (sm.hasSelection()) { //获取选择行第1行 var rec = sm.getSelected(); var ds = grid.getStore(); //默认的插入行 var rowIndex = ds.indexOfId(rec.id) + toward; //判断插入是否已选择,如果已选择,重新获取插入行 var ri = []; //插入行的行号数组 for (var i = 1; i < data.length; i++) { var index = ds.indexOfId(data[i].id) ri.push(index); } //对插入行数组进行排序,下移顺序排序,上移反序排序 if (toward == 1) { ri.sort(function(x, y){ if (parseInt(x) > parseInt(y)) return 1 else return -1 }) } else { ri.sort(function(x, y){ if (parseInt(x) > parseInt(y)) return -1 else return 1 }) } //如果插入行是选择行,则插入行前移或后移 for (var i = 0; i < ri.length; i++) { if (rowIndex == ri[i]) rowIndex += toward; } //判断插入行是否已在顶部或底部,不是则执行移动操作 if (rowIndex < 0) { Ext.Msg.alert('信息', '记录已在顶部'); } else if (rowIndex >= ds.getCount()) { Ext.Msg.alert('信息', '记录已在底部'); } else { move(rowIndex, data); } } else { Ext.Msg.alert('信息', '请选择记录'); } } function move(rindex, data){ var ds = grid.getStore(), rdata = ds.getAt(rindex); // 获取插入行的记录 var toward = 0; // 默认是上移操作 var index = ds.indexOfId(data[0].id); if (rindex > index){ toward = 1 // 如果是下移,修改方向值 } // 移除选择行 for (i = 0; i < data.length; i++) { ds.remove(ds.getById(data[i].id)); } // 根据id获取插入行的新位置并根据移动操作计算出插入位置 rindex = ds.indexOfId(rdata.id) + toward; // 从插入位置依次插入选择行 for (i = 0; i < data.length; i++) { ds.insert(rindex, data[i]); rindex++; } var sm = grid.getSelectionModel(); if (sm)sm.selectRecords(data);// 重新选择选择行 } new Ext.dd.DropTarget(grid.getEl(), { ddGroup: grid.ddGroup || 'GridDD', grid: grid, gridDropTarget: this, notifyDrop: function(dd, e, data){ var t = e.getTarget();// 获取选择行 var rindex = this.grid.view.findRowIndex(t); if (rindex === false) return false; var ds = this.grid.getStore(); var rdata = ds.getAt(rindex); // 判断插入行是否选择行,如果是不允许插入 for (i = 0; i < data.selections.length; i++) { var rowIndex = ds.indexOfId(data.selections[i].id); if (rindex == rowIndex) rindex = false; } move(rindex, data.selections) return true; }, notifyOver: function(dd, e, data){ var t = e.getTarget(); var rindex = this.grid.view.findRowIndex(t); var ds = this.grid.getStore(); for (i = 0; i < data.selections.length; i++) { var rowIndex = ds.indexOfId(data.selections[i].id); if (rindex == rowIndex) rindex = false; } return (rindex === false) ? this.dropNotAllowed : this.dropAllowed; } }); </script>
发表评论
-
js原型分析研究
2012-07-23 22:44 1432原型是个很微妙的东西,很多人不是很理解,理解了原型对于 ... -
Ext4.1.0 API中文版V0.4 Beta(持续更新)
2012-07-17 18:40 1075Ext4.1.0 API中文版V0.4 Beta html ... -
记录回答别人的Ext4问题
2012-07-10 13:23 26371:Ext4版本 双击Tab页面页签关闭 来自问题:ht ... -
Extjs4 时分秒日期插件
2012-05-11 13:05 12339插件1: 初始界面 弹出界面 插件代码 见附件 ... -
Ext3 日期范围插件
2012-04-03 17:32 2115先上 效果图有图有真相嘛 使用例子: ... -
Extjs2分页树 带查询功能
2012-03-29 11:37 4168先上效果图: 插件代码见附件 使 ... -
ext2 日期范围控件(2个控件)
2012-03-25 17:39 3005控件1 介绍: 首先加入 Ext.apply( ... -
ext2 grid 封装 (包含增删改查 导入导出等操作)
2012-02-27 14:32 5005最近项目又用到ext 比较 ... -
tree拖拽
2011-09-04 22:09 2423当时遇到如下问题: 拖拽A tree 的a节点到B tree ... -
ExtJS Web应用程序开发指南(第2版)(针对Ext JS 4.0更新)源代码
2011-08-11 14:56 1102ExtJS Web应用程序开发指南(第2版)(针对Ext JS ... -
使用注解和反射构造ext的grid需要的列模型
2010-09-18 12:03 1668注解类: package xzd; import ... -
ExtJs Grid分页时序号自增的实现
2010-08-23 16:28 3045首先看到网上都是类似 http://www.blogjava. ... -
extjs 自己的小小总结
2010-08-13 21:15 3288总结自己的代码 可能以后会用到 记录一下 方便以后查阅 1 ... -
eclipse 中怎样来集成 JBOSS
2010-08-09 08:46 0eclipse 中怎样来集成 JBOSS -
ext2,3,和4 版本 只显示年月的日期插件
2010-08-03 20:23 15679Ext技术交流群:164648099 1:ext3版本 ... -
关于Extjs3.0中的TreeGrid (Ext.ux.maximgb.tg.EditorGridPanel)(转)
2010-08-01 21:38 4341转:(http://www.liyonghome.cn/ind ... -
ext grid 单元格提示 出现图片
2010-07-31 00:03 2646代码简单 只是记录一下 <html> ... -
ext tree相关知识
2010-07-30 23:53 2602ext tree 动态修改各个节点名称icon小图标 &qu ... -
ext 后台查数据库数据拼装tree数据
2010-07-26 22:21 2472来自:Extjs交流群(164648099) 说明: ... -
ext grid刷新后 滚动条位置不变
2010-07-19 21:11 2987Ext.override(Ext.grid.GridView, ...
相关推荐
Table body{ font-size:12px} #tab{ border-collapse: collapse;} .edit{ height:16px; width:98%; background-color:#EFF7FF; font-size:12px; border:0px;} #tab thead td{ background:url(/upload/201005/...
2.11.1. 先看看怎么拖拽改变表格的大小 2.11.2. 再看怎么在表格里拖动行 2.11.2.1. 无用功 之 同一个表格里拖拽 2.11.2.2. 无间道 之 从这个表格拖到另一个表格 2.11.2.3. 无疆界 之 从表格里拖到树上 3. 歌颂...
2.11.1. 先看看怎么拖拽改变表格的大小 2.11.2. 再看怎么在表格里拖动行 2.11.2.1. 无用功 之 同一个表格里拖拽 2.11.2.2. 无间道 之 从这个表格拖到另一个表格 2.11.2.3. 无疆界 之 从表格里拖到树上 3. 歌颂吧!...
2.11.2. 再看怎么在表格里拖动行 2.11.2.1. 无用功 之 同一个表格里拖拽 2.11.2.2. 无间道 之 从这个表格拖到另一个表格 2.11.2.3. 无疆界 之 从表格里拖到树上 2.12. 大步流星,后台排序 2.13. grid与右键菜单 3. ...
2.7. 还差:表头菜单,分页,可编辑表格,去服务器读取数据,改变大小,表格间拖拽,树与表格间拖拽。 3. 歌颂吧!只为了树也要学ext。 3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 ...
GridDemo 使用Grid进行布局。 InkCanvasDemo 使用InkCanvas的示例。 SimpleDiagDox 简单对话框示例程序。 SimpleStackPanelDemo 使用StackPanel进行布局。 WrapPanelDemo 使用WrapPanelDemo...
5、动态改变列是否显示,和动态改变列的显示顺序 Change the Order of the Columns in the Windows Forms DataGridView Control Samples: customersDataGridView.Columns["CustomerID"].Visible = false; ...
现通过实例属性检查器将该实 例的颜色改为#FF0033,透明度改为80%。请问此时Library 中的Symbol 1 元件将会发生什么 变化? □ A. 颜色也变为#FF0033 □ B. 透明度也变为80% □ C. 颜色变为#FF0033,透明度变为80% ...
修改高级表格支持库,通过鼠标调整行高列宽时不改变当前光标行列号。 8. 修改BUG:在IDE中打开源代码文件(.e)后,高级选择夹组件不能正确切换到“现行子夹”属性设定的子夹。 9. 修改BUG:矢量动画支持库中的...
16.我们拖动标签一角的蓝点,将全部文字显示出来。 17.再次按下运行按钮,便会出现helloworld。 到这里helloworld 程序便完成了。 Qt Creator 编译的程序,在其工程文件夹下会有一个debug 文件夹,其中有程序的.exe ...
31.zip Dragging a dialog by clicking anywhere on it 点击任何地方拖动对话框(11KB)<END><br>32,32.zip Splash screen with text on it that uses its own thread 通过自己的线程在Splash对话框中显示...