`
zxlaiye
  • 浏览: 96065 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Ext3 备忘

    博客分类:
  • web
EXT 
阅读更多
给Ext.ux.tree.TreeGrid添加checkbox
    TreePanel要添加checkbox很容易,只需节点有checked属性。TreeGrid默认不支持,为此上网找资料半天才发现简单一点的方法,如下:
    修改Ext.ux.tree.TreeGridNodeUI的方法renderElements,在buf数组中,在含有x-tree-node-icon的行下面添加一行:
Ext.isBoolean(a.checked) ? ('<input class="x-tree-node-cb" type="checkbox"' + (a.checked ? ' checked' : '') + '/>') : '',
    还要在renderElements方法的最后添加以下几行:
if (Ext.isBoolean(a.checked)){
  this.checkbox = cs[3];
  this.checkbox.defaultChecked = this.checkbox.checked; //fix for ie6
  this.anchor = cs[4];
  this.textNode=cs[4].firstChild;
}

让带checkbox的TreeGrid具有与GridPanel一样的点击选中行为:
listener:{
    click: function(n){
        n.getUI().toggleCheck(); 
        return n.getUI().isChecked();
    },
    checkchange: function(n, checked){
        checked ? n.select() : n.unselect();
    }
}

●Combox默认提交text,要提交value,需设置hiddenName属性为字段名,取消name属性。

手动创建grid的行
  var Record = Ext.data.Record.create([{name:'id'},{name:'title'}]);
  var r = new Record({id:1,title:'text'});
  grid.store.add(r);
  注意,这样创建的Record,取数据的方法为record.data,不是record.json

实现combo模糊查询
combo.on('beforequery', funciton(qe){
  var cb = qe.combo;
  cb.selectedIndex = -1;
  if (qe.foreAll) return;
  cb.store.filterBy(function(r, id){
    var text = r.get(cb.displayField);
    return text.indexOf(qe.query) != -1;
  });
  cb.onLoad();
  return false;
});

实现combo自定义显示值
var store = new Ext.data.JsonStore({
  url: 'xxx',
  fields:['id','name','text',
    {name:'display', convert:function(v,r){return r.name + '(' + r.text + ')';}}]
});
combo:
{
  xtype: 'combo', triggerAction:'all', store:store,valueField:'id',
  displayField:'display', selectOnFocus:true
}
分享到:
评论
6 楼 zxlaiye 2012-02-03  
zzz331244869 写道
我的treegrid数据来源于json文件,我为每个节点都添加了checked属性,但是没反应啊?怎么回事?

应该是什么地方搞错了吧,建议:
1、先在TreePanel中实现checkbox,再修改成TreeGrid的实现;
2、或者在Ext.ux.tree.TreeGrid的源码插件一些语句,用firebug查看renderElements方法中某些变量值,以确保数据格式是否正确;
3、或者将你的json文件,修改过的Ext.ux.tree.TreeGrid中的renderElements方法的源码和创建TreeGrid时的代码一起发出来看一下。
5 楼 zzz331244869 2012-02-03  
我的treegrid数据来源于json文件,我为每个节点都添加了checked属性,但是没反应啊?怎么回事?
4 楼 zxlaiye 2012-02-02  
zzz331244869 写道
奥,我那个没有Treepanel。直接用的treegrid,treegrid好行没有checked属性,那怎么办啊?


treegrid和treepanel的节点数据结构是类似的,也有checked属性,试一下就知道了。
3 楼 zzz331244869 2012-02-02  
奥,我那个没有Treepanel。直接用的treegrid,treegrid好行没有checked属性,那怎么办啊?
2 楼 zxlaiye 2012-02-02  
zzz331244869 写道
●给Ext.ux.tree.TreeGrid添加checkbox
    TreePanel要添加checkbox很容易,只需节点有checked属性。TreeGrid默认不支持,为此上网找资料半天才发现简单一点的方法,如下:
    修改Ext.ux.tree.TreeGridNodeUI的方法renderElements,在buf数组中,在含有x-tree-node-icon的行下面添加一行:
Ext.isBoolean(a.checked) ? ('<input class="x-tree-node-cb" type="checkbox"' + (a.checked ? ' checked' : '') + '/>') : '',
    还要在renderElements方法的最后添加以下几行:
if (Ext.isBoolean(a.checked)){
  this.checkbox = cs[3];
  this.checkbox.defaultChecked = this.checkbox.checked; //fix for ie6
  this.anchor = cs[4];
  this.textNode=cs[4].firstChild;
}

这段添加进去怎么没有出现多选框呢??[b][/b]



你传给树的数据是不是没有包含checked属性,checked属性值要么是true,要么是false,不能省略。
1 楼 zzz331244869 2012-02-01  
●给Ext.ux.tree.TreeGrid添加checkbox
    TreePanel要添加checkbox很容易,只需节点有checked属性。TreeGrid默认不支持,为此上网找资料半天才发现简单一点的方法,如下:
    修改Ext.ux.tree.TreeGridNodeUI的方法renderElements,在buf数组中,在含有x-tree-node-icon的行下面添加一行:
Ext.isBoolean(a.checked) ? ('<input class="x-tree-node-cb" type="checkbox"' + (a.checked ? ' checked' : '') + '/>') : '',
    还要在renderElements方法的最后添加以下几行:
if (Ext.isBoolean(a.checked)){
  this.checkbox = cs[3];
  this.checkbox.defaultChecked = this.checkbox.checked; //fix for ie6
  this.anchor = cs[4];
  this.textNode=cs[4].firstChild;
}

这段添加进去怎么没有出现多选框呢??[b][/b]

相关推荐

    Ext3中文文档CHM版

    资源名称:Ext3 中文文档 CHM版内容简介:Ext JS相关资源中文化(2007年初起) 1. 备忘 1.此版本为公开测试版alpha 0.3 把我们当前已完成汉化的公开。 Google SVN在//code.google.com/p/chineseext/; 2.汉化工作...

    Ext 3.3API

    1. 备忘 1.此版本为Ext JS 3.3正式版API的翻译,大体完成了翻译的工作。我们把当前已完成汉化的公开。另有基于源码的翻译版本,请到项目站点下载; 2.翻译小组的汉化工作业已暂告一段落了,但接受任何提交的BUG或...

    备忘录文档_202308291043.docx

    dcl-f flatfile usage(*output) usropn extfile(myfile); dcl-s myfile char(20); dcl-s cmd char(100); dcl-s maxdata char(32922) template; dcl-ds flatFileDS likerec(RFLAT); dcl-c sqlCreateTable 'create ...

    Web-Libraries-Versions-Cheatsheet:用于发现Web应用程序中已知漏洞的组件的备忘单

    Web库版本备忘单 用于发现Web应用程序中已知漏洞的组件的备忘单 将以下负载输入到Web浏览器的控制台中,以检查和验证特定网站中使用的组件的版本 jQuery的 jQuery().jquery jQuery UI $.ui.version $.ui 角度的 ...

    extjs-cheat-sheet:extJS备忘单,其中包含最需要的内容

    ExtJs备忘单Ext JS是一个基于类的,面向对象的框架。 Ext JS提供了数百种类,您可以使用或扩展它们来创建您的应用程序。这些类的范围从管理数据和服务器通信的非可视类到提供强大功能的用户界面组件。通过基于这些...

    Extjs3.3 API (CHM,中文)

    1. 备忘 1.此版本为Ext JS 3.3正式版API的翻译,大体完成了翻译的工作。我们把当前已完成汉化的公开。另有基于源码的翻译版本,请到项目站点下载; 2.翻译小组的汉化工作业已暂告一段落了,但接受任何提交的BUG或...

    Discord.py-Startup-Cheatsheet:Discord.py的简单备忘单

    discord.py启动备忘单本文档包含我已使用和测试过的代码片段。 有关API的广泛参考,请访问。内容安装discord.py 您可以使用PyPI安装discord.py:pip pip install -U discord.py 。 注: pip可能是pip3在某些Linux / ...

    DataNumen Outlook Drive Recovery

    DataNumen Outlook Drive Recovery (原Advanced Outlook Data Recovery)是Outlook数据的救星。...6. 支持从任何系统硬盘分区格式中修复Outlook数据,例如FAT, FAT32, NTFS, Linux Ext2, Linux Ext3, 等。

    我的无家可归:我无所事事的环境

    备忘录 添加外部存储 从VirtualBox控制台在现有SATA控制器上创建存储。 引导盒子并找到设备路径: lsblk , fdisk -l等 在ext4中格式化设备: mkfs.ext4 /dev/the/new/device 为其安装点创建一个目录,例如/ext ,...

    Android课程设计报告

    3. **写信模块** - 添加收件人:通过联系人列表选择收件人,支持群发。 - 编辑邮件内容:包括主题、正文、附件等。 - 发送邮件:完成编辑后,点击发送按钮即可将邮件发送出去。 #### 四、核心代码示例 - **...

    TempleOS-and-HolyC:TempleOS 和 HolyC 中的一次非常简短的冒险。 瑞普·特里·戴维斯

    瑞普·特里·戴维斯备忘单“亚当是所有任务之父” 如有疑问,请查看帮助菜单(显示 HolyC 源代码) 如果终端关闭,右下角闪烁的“TERM”开始新的实例。 退出当前窗口SHIFT+ESCAPE 保存更改CTRL+S 在文件F5时执行CD...

    在IIS中配置PHP环境

    xp+iis下配置php5备忘: php版本: PHP 5.1.2 zip package (8,926Kb) - 12 Jan 2006 1.解压php文件到 c:\php(源码网整理,www.codepub.com) 2.将php文件夹下 php.ini-dist 改名为 php.ini ,然后找到extension_dir = ...

    java面试题库

    - 行为型模式:责任链、命令、解释器、迭代器、访问者、备忘录、状态、策略、模板方法、观察者模式等。 6. **框架**: - Spring框架:IoC容器、AOP、MVC、Spring Boot、Spring Cloud等。 - MyBatis:SQL映射、...

    VSCode-Angular-TypeScript-Snippets:Angular 5的Visual Studio Code TypeScript片段(TypeScript,Html,Angular材质,Flex布局,ngRx,RxJS和测试)

    所有代码段均基于并遵循Angular样式指南 摘录的来源来自: 最重要的是,如果没有所有贡献者的帮助来确定,增强,测试和提出建议,这些都不存在。...-备忘单 备忘单 重要的 此扩展针对使用Angular

    实习或秋招校招-思维导图总结

    - 行为型模式:责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法和访问者模式,关注对象的行为和交互。 3. **Linux.xmind** - 基础操作:熟悉命令行界面,掌握常用命令如ls、cd、...

    Make Rikkeisoft News Great Again-crx插件

    Rikkeisoft新闻实用程序。 在Rikkeisoft新闻上使用您喜欢的表情符号。...托管在GitHub上:https://github.com/Code4Fap/make-rikkeisoft-news-great-again主页:https://ext.huynq.net/ 支持语言:English

    Apache HTTP Server Version 2.2 文档(2013.4.10最新)

    Apache 1.3 API 备忘录 APR中内存分配的调试 Apache 2.0 文档制作 Apache 2.0 过滤器工作原理 Apache 2.0 中的Hook函数 Apache 2.0 开发者文档 将模块从Apache1.3转化到Apache2.0 Apache 2.0 对请求的处理 Apache ...

Global site tag (gtag.js) - Google Analytics