摘要: 如上图所示,当修改某个属性值,成功提交后,dirty的小三角不会自动清除,这个是官方treegrid的一个bug,目前尚未解决。bug:http://www.sencha.com/forum/showthread.php?141144-4.0.2a-TreeStore-doesn-t-clear-dirty-flag-on-updated-record目前的解决办法:在TreeStore的最末端,添加如下代码:onUpdateRecords: function (records, operation, success) { records = operation.records;... 阅读全文
posted @ 2013-08-12 14:57 jackchain 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 需要反射的DLL里的一个类:namespace ElegantWM.WebUI.Areas.Admin.Controllers{ [Description("功能模块管理")] public class ModuleController : BaseController { [Action] [Description("根据系统编号,获取系统的功能模块")] [HttpGet] public string Get(Guid sysId) { ... return ... 阅读全文
posted @ 2013-08-12 14:18 jackchain 阅读(2924) 评论(0) 推荐(0) 编辑
摘要: WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝、移动、删除等。在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了。所以在IIS 7.5上部署的RESTful服务(WCF Data Service,WCF Rest Service,ASP.NET Web API,ASP.NET MVC)就悲剧了,当发送Put请求就会发生HTTP Error 405.0 – Me 阅读全文
posted @ 2013-08-02 10:26 jackchain 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/作者:Sean LanktreeSean is an Ext JS Professional Services Lead at CNX Corporation.在CNX,尽管大多数的Ext JS开发工作需要从0开始创建新的应用程序,偶尔会有客户让我们帮他们解决内部工作上的性能问题、臭虫和结构性问题。我们以“清洁工”这种角色进行工作已经有很长一段时间了,在我们审查过的应用程序中,我们注意到,有一些共同的不明智的编码方法经常会出现。基于过去几年的 阅读全文
posted @ 2013-08-01 23:12 jackchain 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 最近做MVC开发的,遇到一个蛋疼的问题,每次加载模块都需要耗时3~4秒钟,才可以显示出完整的页面,通过监控,发现主要还是在Controller里慢,加载js文件等都是非常快的,但一到controller里面,绘制各种view就非常慢了。最后经过黄大师的指点,偶然间发现,自己不经意间的习惯,会拖慢如此多的效率。第一大秘诀:严格按照extjs官方的user demo来做规范尤其是注意选择器的使用。例如alias: 'widget.systemgrid',这里的systemgrid,一定要小写,否则效率要拖慢n倍,我就是因为这个的地方全都和类名一样大写而导致加载奇慢(3、4秒的样子) 阅读全文
posted @ 2013-08-01 23:09 jackchain 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 上篇文章中http://www.cnblogs.com/qidian10/p/3209439.html我们介绍了如何使用Grid的查询组建,而且将查询的参数传递到了后台。那么我们后台如何介绍参数,并且转换为EntityFramework的条件呢?首先我们获取Ext.ux.grid.feature.Searching的参数,上篇文章中我们很容易发现,查询传递到后台的是fields和query参数,其中fields是参加查询的列数组,query是关键字。首先我们定义个类,接收参数namespace ElegantWM.EntityModel{ public class ExtGridSear... 阅读全文
posted @ 2013-07-23 21:40 jackchain 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 背景Extjs4.2 默认提供的Search搜索,功能还是非常强大的,只是对于国内的用户来说,还是不习惯在每列里面单击好几下再筛选,于是相当当初2.2里面的搜索,更加的实用点,于是在4.2里面实现。国际惯例,先上图参考文献https://gist.github.com/aghuddleston/3297619/http://gridsearch.extjs.eu/国外的大牛已经帮我们实现了在4.0中的应用,但是到4.2还需要做少许变更才可以使用。修改后的源代码如下[复制如下代码,放到ux/grid/features/Searching.js]:// JavaScript Document// 阅读全文
posted @ 2013-07-23 21:29 jackchain 阅读(2276) 评论(0) 推荐(2) 编辑
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Text;namespace ElegantWM.Tools{ public class ParameterRebinder : ExpressionVisitor { private readonly Dictionary map; public ParameterRebinder(Dictionary map) { ... 阅读全文
posted @ 2013-07-11 23:15 jackchain 阅读(2352) 评论(0) 推荐(0) 编辑
摘要: 项目中经常涉及到页面DTO更新,保存到数据库的操作,这就必然牵扯到DTO和持久层对象的转换,常见的第三方库有:java:dozer.net: AutoMapper看到AutoMapper已经许久没更新了,而且项目中没必要用这么大的东西,于是自己实现了一个简易DTO到Entity的转换器。实现的功能自定义的AutoMapper主要实现了如下几点功能:1.DTO字段忽略转换[AutoMapping(Ignore=true)]public DateTime CreateTime { get; set; }2.DTO字段和Entity的强制映射[AutoMapping(EntityColumn=&qu 阅读全文
posted @ 2013-07-05 16:17 jackchain 阅读(3054) 评论(7) 推荐(3) 编辑
摘要: IEnumerable userlist=xxxx;string[] ids=userlist.select(u=>u.id).toArray(); 阅读全文
posted @ 2013-07-04 14:06 jackchain 阅读(1612) 评论(0) 推荐(0) 编辑
摘要: 本案例使用了Ext.Tree.Panel的如下知识点:1.刷新、重新加载Tree,定位到上次的节点位置2.Tree的右键操作3.Extjs4.x Tree获取当前选中的节点4.新增、修改、删除Tree节点5.修改tree节点的属性,例如text,iconCls,leaf等6.treedata rest proxy7.treeStore.sync的同步回调方法8.Extjs4.x Tree获取父节点,获取子节点Chirldrens9.Extjs4.x TreePanel的展开,收缩10.Extjs4.x Tree的拖拽操作treeviewdragdrop插件,响应类型有before,after, 阅读全文
posted @ 2013-07-01 17:30 jackchain 阅读(4516) 评论(3) 推荐(2) 编辑
摘要: Ext.data.IdGenerator.get('uuid').generate()结果:a9c4efb8-06c9-4c2e-8a70-bb36a69e053e更多介绍:http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.UuidGenerator 阅读全文
posted @ 2013-06-30 23:00 jackchain 阅读(1253) 评论(0) 推荐(0) 编辑
摘要: 跟Extjs3.0不同Extjs4.2的写法如下:idPath = selNode.getPath("id"); tree.getStore().load({ node: tree.getRootNode(), callback: function () { tree.expandPath(idPath, 'id'); } }); 阅读全文
posted @ 2013-06-30 22:59 jackchain 阅读(685) 评论(0) 推荐(0) 编辑
摘要: refs:Object[]5Array of configs to build up references to views on page. For example:Ext.define("MyApp.controller.Foo",{ extend:"Ext.app.Controller", refs:[{ref:'list', selector:'grid'}],});这将会产生一个this.getList()方法,该方法会通过Ext.ComponentQuery去页面中获取组件为grid的组件The followi 阅读全文
posted @ 2013-06-27 12:27 jackchain 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: Extjs4.x中已经取消了组件Ext.Tree.TreeFilter功能,却掉了树形结构的过滤功能,要实现该功能只能自己写了.Tree节点筛选UI很简单,一个Tbar,一个trigger即可解决问题,剩下的是逻辑代码了。1.tbar没啥好解析的2.trigger几个比较重要的属性 triggerCls:文本框右侧的按钮样式,主要有4种 x-form-clear-trigger // the X iconx-form-search-trigger // the magnifying glass iconx-form-trigger // the down ... 阅读全文
posted @ 2013-06-25 23:18 jackchain 阅读(2908) 评论(2) 推荐(0) 编辑
摘要: 原文:http://linder0209.iteye.com/blog/10392001、Ext.Component该组件在渲染的时候会默认的创建div DOM,是根据this.autoEl的配置来创建的,默认this.autoEl为 div,创建后保存在 this.el中autoShow 设为true,渲染时会强制显示隐藏的元素,实际上会执行以下代码Js代码if(this.autoShow){//自动显示this.el.removeClass(['x-hidden','x-hide-'+this.hideMode]);} 该参数的设置,比如在多标签中如果想渲染 阅读全文
posted @ 2013-06-24 00:19 jackchain 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 背景通过多个部门id获取所有用户,部门和用户是多对多。已知部门id,获取该部门包括该部门下的所有子部门的所有用户。关系如下:public class Entity:IEntity { public Guid Id { get; set; } public string CreateUser { get; set; } public DateTime CreateTime { get; set; } public string ModifyUser { get; set; } public DateTime? Modif... 阅读全文
posted @ 2013-06-19 14:11 jackchain 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: 1.根据款号查询产品public LCSProduct GetProductByName(String SKC) throws WTException { //声明查询 PreparedQueryStatement statement = new PreparedQueryStatement(); statement.appendFromTable("LCSPRODUCT"); //获取FlexType类型,也就是系列 String flextypePath = "Product"; FlexType fle... 阅读全文
posted @ 2013-06-18 22:07 jackchain 阅读(996) 评论(0) 推荐(0) 编辑
摘要: Ext.define('WMS.controller.Org', { extend: 'Ext.app.Controller', stores: ['OrgUser', 'OrgTree'], models: ['OrgUser'], views: ['OrgTb', 'OrgTree', 'OrgUserGrid'], refs: [ { ref: 'orgTree', selector: 'orgTree' }, { ref: &# 阅读全文
posted @ 2013-06-18 16:16 jackchain 阅读(1053) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/qidian10/archive/2013/05/28/3104828.html根据上一篇文章,我们选择iframe的方式进行开发,那么也就必须对以前autoload方式的目录结构进行项目重构,重构的过程中,充分参考Sencha CMD中的所提到的Workspace和mutil-page application架构方式,最终调整后的项目目录结构如下所示:整个项目的js等资源统一放到application(即workspace)文件夹下面,application文件夹可通过sencha cmd生成,下存放如下内容:1.common,通用资源(图片,样 阅读全文
posted @ 2013-06-16 00:13 jackchain 阅读(687) 评论(0) 推荐(0) 编辑