/*
** edit by Dickhead
** goal 让GridPanel的行支持拖动排序的插件
** 插件方式支持
** time 2011-08-05 22:04:27
*/
//<extension>
(function () {
//先扩展一个拖放操作的放置区
Ext.ns('Ext.ux.grid');
Ext.ux.grid.GridDropZone = Ext.extend(Ext.dd.DropZone, {
ddGroup: 'GridDD',
constructor: function (grid, config) {
this.view = grid.getView();
Ext.ux.grid.GridDropZone.superclass.constructor.call(this, this.view.scroller.dom, config);
this.proxyEl = document.createElement('div');
this.proxyEl.style.cssText = "background:url(http://images.cnblogs.com/cnblogs_com/dickhead/314392/o_arrow_right.png);" +
"width:16px;height:16px;position:absolute;";
Ext.fly(this.proxyEl).insertAfter(this.view.scroller).hide();
},
getTargetFromEvent: function (e) {
return e.getTarget(this.view.rowSelector);
},
onNodeEnter: function (target, dd, e, data) {
var rowIndex = this.view.findRowIndex(target);
data.targetRowIndex = rowIndex;
if (rowIndex !== false) {
rowIndex < data.rowIndex && (rowIndex += 1);
data.targetRowIndex = rowIndex;
if (rowIndex !== data.rowIndex) {
Ext.fly(this.proxyEl).show().alignTo(target, 'br-bl', [16, 9]);
return;
}
}
Ext.fly(this.proxyEl).hide();
},
onNodeOut: function () {
Ext.fly(this.proxyEl).hide();
},
onNodeOver: function (target, dd, e, data) {
if (data.targetRowIndex !== false && data.targetRowIndex !== data.rowIndex) {
return Ext.dd.DropZone.prototype.dropAllowed;
} else {
return Ext.dd.DropZone.prototype.dropNotAllowed;
}
},
onNodeDrop: function (target, dd, e, data) {
if (data.targetRowIndex !== data.rowIndex) {
var record = data.grid.store.getAt(data.rowIndex);
data.grid.store.data.removeAt(data.rowIndex);
data.grid.store.data.insert(data.targetRowIndex, record);
this.view.refresh();
return true;
}
return false;
},
destroy: function () {
Ext.destroy(this.proxyEl);
delete this.proxyEl;
Ext.ux.grid.GridDropZone.destroy.apply(this, arguments);
}
});
//支持行拖动的插件
//扩展自Ext.util.Observable方便以后添加事件支持
Ext.ux.grid.RowGragable = Ext.extend(Ext.util.Observable, {
init: function (grid) {
grid.enableDragDrop = true;
var group = Math.random().toString();
grid.ddGroup = group;
var dropZone;
grid.on('afterrender', function () {
dropZone = new Ext.ux.grid.GridDropZone(grid, { ddGroup: group });
});
grid.on('destroy', function () {
dropZone.destroy();
});
}
})
})();
//</extension>
//sample 使用插件让表格支持行拖动
Ext.onReady(function () {
Ext.get('loading').remove();
new Ext.grid.GridPanel({
height: 130, plugins: [new Ext.ux.grid.RowGragable()],
columns: [
new Ext.grid.RowNumberer({ renderer: function () { return ' '; } }),
{ header: '书名', dataIndex: 'BookName' },
{ header: '作者', dataIndex: 'Author' },
{ header: '价格', dataIndex: 'Price' },
{ header: '出版日期', dataIndex: 'PublishDate' }
],
store: {
xtype: 'simplestore', fields: ['BookName', 'Author', 'Price', 'PublishDate'],
data: [
['CLR via C#', 'Jeffrey Richter', '99.0', '2010-04-13'],
['北京售楼小姐', '不详', '54.0', '2011-02-13'],
['武经七书1', '大概是神', '54.0', '2010-04-13'],
['空谷幽兰', 'somebody', '99.0', '2010-04-13']
]
},
renderTo: 'main'
});
})
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1. 用户角色 管理员 药店员工/药师 客户 2. 功能描述 管理员功能 用户管理 创建、编辑和删除药店员工和药师的账户。 设置不同用户的权限,确保敏感信息的安全。 库存管理 实时监控药品库存状态,设置库存预警,防止缺货或过期。 支持药品入库、出库和退货记录,自动更新库存数量。 商品管理 添加、编辑和删除药品信息,包括名称、规格、价格、生产厂家、有效期等。 分类管理药品,如处方药、非处方药、保健品等。 销售管理 查看和管理销售记录,生成每日、每周和每月的销售报表。 分析销售数据,了解畅销产品和季节性变化,以优化库存。 财务管理 监控药店的收入与支出,并生成财务报表。 管理支付方式(现金、信用卡、电子支付)及退款流程。 客户管理 记录客户的基本信息和购买历史,提供个性化服务。 管理会员制度,设置积分和优惠活动。 药品监管符合性 确保药店遵循相关法规,跟踪药品的进货渠道和销售记录。 提供合规报告,确保按规定进行药品管理。 报告与分析 生成各类统计报表,包括销售分析、库存分析和客户行为分析。 提供决策支持,帮助制定更好的经营策略。 药店员工/药师功能 销售操作 处理顾客的药
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
今天吴老师上课的时候说我.txt
检测骨架图像的交点Matlab代码.rar
MMC simulink 模块化多电平变流器 载波移相 双闭环仿真 输出谐波分析,线性自抗扰控制LADRC 有仿真文件
自动驾驶控制-斯坦利(stanely)算法路径跟踪仿真 matlab和carsim联合仿真搭建的无人驾驶斯坦利控制器仿真验证,可以实现双移线,圆形,以及其他自定义的路径跟踪。 跟踪效果如图,几乎没有误差,跟踪误差在0.05m以内。
TongRDS是redis的国产化替代品之一,里面含有相应的安装部署包及操作流程,详细介绍TongRDS的基本部署和基本开发使用。
基于mpvue实现豆瓣电影微信小程序@zce_mpvue-Douban
隔离型DCDC变器设计,LLC谐振变器闭环仿真,变频控制。 有自己做的对应明 ,十分详细。
Delphi in Depth - FireDAC.rar
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
ShellBox微信小程序,集日程查询、成绩查询、电费查询、图书查询等功能于一体的高校微信小软件_ShellBox
Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
微信小程序校园微社区_ zafuBBS
计算图像的多向特征编码 (Contour Code Representation)Matlab代码.rar
电池超级电容混合储能系统能量管理超级电容matlab simulink储能模型仿真,能量管理蓄电池充放电模型 相关参考。
武汉市新版劳动合同
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作