- 浏览: 468840 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
njliukang:
请问一下,如果是异步树,应该怎么解决?貌似用expandpat ...
ExtJS Tree刷新后自动展开并选择节点 -
xiaoyueyue5721:
这是ScriptDataSet,如果换成OdaDataSet呢 ...
Birt动态填充DataSet数据 -
leexiaodong2009:
我准备要用那个锁定。
ExtJS 3.0 优秀扩展简介 (持续更新) -
babyhhcsy:
pizza823 写道分享下另外中方法store里面不用变在列 ...
ExtJS EditorGridPanel中时间日期编辑问题的总结 -
冷月宫主:
高手,请问一下有没有使用Ext做过多表头锁定左侧指定列的处理? ...
仅供纪念,曾做过的一些界面截图
前言,学习ExtJS Grid的新手,官方的这篇FAQ是必读的.
顺手翻译了一小点,大概了解就ok了,挺生硬的,呵呵...
翻译自:http://extjs.com/learn/Ext_FAQ_Grid#Behavior
5.行为
5.1 单元格的链接
>方法1: 自定义渲染方法
var yourColumn = { header: "Company", dataIndex: 'company', renderer: function(value, metaData, record, rowIndex, colIndex, store) { //在这里面可以按你自己的逻辑组成html然后返回 return '<a href="http://www.yourURL.com/" target="_blank">' + value +'</a>'; } }
>方法2: 监听Ext.grid.RowSelectionModel的rowselect事件
function handleRowSelect(selectionModel, rowIndex, selectedRecord) { //assuming the record has a field named 'url' or build it as you need to var url = selectedRecord.get('url'); //if you want to open another window window.open(url); } grid.getSelectionModel().on('rowselect', handleRowSelect);
5.2 为特殊的单元格添加点击事件
>除了下面将介绍的方法外,你还可以考虑下Saki提供的扩展:rowactions和cellactions,在http://www.extjs.eu 可找到
>如果你用的是编辑表格,则默认的选择模型是cell selection model,所以你可以监听beforecellselect和cellselect事件.
它会传递点击的行和列的index。其中行index可以用来找到点击的field。(需要注意,用户有可能会对行进行排序,所以直接用行index来寻找field是不安全的,最好用id来索引)
>对Grid的cellclick事件添加一个监听器
当点击的时候,传递row index 和column index 给监听器。其中column index可以用来确定是点击的是哪个field。
(用户有可能会对改变行的位置,如拖拽,所以用column index作为field index是不安全的)
cellclick事件的处理函数可以如下代码,找到一些相关的信息:
function(grid, rowIndex, columnIndex, e) { // Get the Record for the row var record = grid.getStore().getAt(rowIndex); // Get field name for the column var fieldName = grid.getColumnModel().getDataIndex(columnIndex); var data = record.get(fieldName); }
>一个用cellclick事件切换单元格颜色的例子: http://extjs.com/forum/showthread.php?p=119718#post119718
>change the CSS so all cells look like an editor is active, e.g.
.x-grid3-row td.x-grid3-td-<id-of-column> { background-color: white; padding: 0; } .x-grid3-row td.x-grid3-td-<id-of-column> .x-grid3-cell-inner { border: 1px solid #a9bfd3; padding: 2px 3px 2px 5px; }
5.3 如何添加/删除表格的某几列
参见http://extjs.com/forum/showthread.php?p=308635#post308635
5.4 如何为每行记录都添加一个操作列
>方法1:
1)Use the array grid example in your packaged download array-grid.js
以自带例子里面的array-grid.js来示范
2)Add an extra column to the column model definition and a custom rendere
添加额外的一列
{header: "Controls", width: 60, sortable: false, renderer: function() { return '<div class="controlBtn"> <img src="../shared/icons/fam/cog_edit.png" width="16" height="16" class="control_edit"> <img src="../shared/icons/fam/folder_go.png" width="16" height="16" class="control_go"></div>'; }, dataIndex: 'company'}
3)Then you would setup an event handler on the click event.
添加事件处理函数
grid.on('click', function(e) { var btn = e.getTarget('.controlBtn'); if (btn) { var t = e.getTarget(); var v = this.getView(); var rowIdx = v.findRowIndex(t); var record = this.getStore().getAt(rowIdx); var control = t.className.split('_')[1]; switch (control) { case 'edit': console.log('edit this record - ' + record.id); break; case 'go': console.log('go to this record - ' + record.id); break; } } }, grid);
4)Add the following CSS rule in array-grid.html to give some padding and change the cursor.
<style> .controlBtn img { padding-left: 4px; cursor: pointer; } </style>
5)Using this same method you could add as many tools as you would like in the controls section and always give them the css class "controls_{toolname}". Ideally you would break this out into an XTemplate so that you could simply pass in whatever tools you would like to use and output them on the grid as well.
>方法2:
使用RowAction这个扩展 http://extjs.com/forum/showthread.php?t=24508
发表评论
-
[4.x] Ext.ux.button.AutoRefresher
2011-05-23 11:22 2828/** * @class Ext.ux.b ... -
ExtJS 4.x 定制你的js
2011-05-01 00:04 0... -
ExtJS4.x 随笔(2011-04-29更新)
2011-04-29 13:41 38771.某个激活/禁用的checkboxfield,需要提交后台的 ... -
ExtJS 4.0 改善Ext.grid.plugin.RowEditing (重构,v1.4版本,2011-09-11)
2011-04-27 15:24 12783Ext4.0 自带的Ext.ux.RowEditing还不够完 ... -
ExtJS Tree刷新后自动展开并选择节点
2010-07-29 10:48 17785很久没写EXTJS的tip了... 今天帮组员写了一个 ... -
仅供纪念,曾做过的一些界面截图
2010-07-06 16:55 3585仅供记录用. 1.亚运(EXTJS) ... -
ExtJS3.x 随笔(2010-07-08更新)
2010-07-02 17:15 3658谨用该贴来记录一些使 ... -
Ext JS 3.2.0发布 -- 不少令人振奋的特性(更新翻译后的release-notes)
2010-04-01 15:02 3804不少令人振奋的新功能 1.form里面的复合组件 ---写 ... -
ExtJS EditorGridPanel中时间日期编辑问题的总结
2009-09-23 09:48 10289老是被反复问到这个问题,烦了...总结下... 1.首 ... -
Ext 3.0.1 Release Notes
2009-08-31 07:58 3970难熬的三天....JE终于恢复了.... 可惜要付费 ... -
也谈谈Ext.Grid之记录用户使用习惯—隐藏列
2009-08-27 15:58 7617在论坛看到http://www.iteye ... -
ExtJS 常见问题 - by tz
2009-08-14 16:13 0经常在群里面被问到的一些问题,不如汇集起来算了... ... -
ExtJS 3.0 优秀扩展简介 (持续更新)
2009-08-14 10:14 17369自带示例里面的扩展就 ... -
ExtJS 2.3/3.0 定制你所需要的模块
2009-08-12 13:49 13305很实在的一个需求,就是 ... -
ExtJS Combo 下拉列表正常显示HTML标签内容
2009-08-11 15:02 5921解决问题: http://www.iteye.com/pro ... -
ExtJS 3.0 Designer Preview (官方的IDE可视化工具)
2009-08-11 12:35 24704原文地址: http://extjs.com/blog/200 ... -
ExtJS Menu嵌套combo等控件时,自动隐藏/遮盖等bug的解决方案
2009-08-06 12:41 62542010-07-08补充: DateField隐藏的 ... -
ExtJS 输入框/MessageBox.prompt 禁止粘贴
2009-07-30 13:33 6805回答问题http://www.iteye.com/proble ... -
ExtJS 修复3.0里面的LovCombo(下拉多选框)的Bug
2009-07-27 16:16 11382如果你不知道lovcombo是什么,看http://setti ... -
续:ExtJS Chart 扩展(重构了下,并写了个新的示例--内存监控)
2009-07-27 15:55 5993续前文:http://atian25.iteye.com/bl ...
相关推荐
项目中的“ExtJs_Wcf_Linq_AllFeatureGrid_Edited_0809”文件可能包含了完整的示例代码,包括EXTJS Grid Panel的配置、WCF服务接口定义以及C#后台的数据处理逻辑。开发者可以通过阅读和学习这些代码,进一步了解如何...
ExtJs_Wcf_Linq_PageGrid, zip format
ExtJS Grid是一款强大的JavaScript组件,用于在Web应用中创建数据密集型的表格视图。它由Sencha公司开发,是Ext JS库的核心部分,广泛应用于企业级应用的前端开发,提供丰富的功能和高度的可定制性。这个"ExtJS_grid...
在"EXT_ASP.rar_asp extjs_extjs_extjs asp_extjs+asp"这个压缩包中,我们可以看到EXTJS与ASP结合使用的示例,用于开发一个通讯录程序,这是一个很好的学习EXTJS和ASP集成的实践项目。 首先,EXTJS的核心在于它的...
标题 "extjs_tapestry.rar_extjs tapestry_extjs_tapestry_tapestry" 暗示了这个压缩包是关于 ExtJS 和 Tapestry 两个框架整合使用的资源集合。描述指出,这些资源包含了在 Tapestry 框架中应用 ExtJS 的兼容性代码...
例如,可以使用ExtJS的Grid Panel展示来自ASP.NET的数据,使用Form Panel进行数据的输入和提交,而这一切都通过Ajax请求与服务器进行通信。 标签"extjs"和"extjs_网站"进一步强调了这个项目的核心内容是关于ExtJS的...
在“ExtJS_可编辑Grid进度条”这个主题中,我们将深入探讨如何在Grid组件中实现可编辑的进度条功能,以及这一功能的实现原理和应用场景。 首先,我们要理解Grid的基本概念。Grid在ExtJS中是一个表格视图,用于展示...
2. EXTJS:EXTJS是一个强大的JavaScript库,用于构建富客户端应用程序。EXTJS提供了丰富的UI组件,如表格、面板、图表等,使得开发者能够快速构建具有桌面级用户体验的Web应用。在这个OMS系统中,EXTJS可能被用来...
ExtJS实现的用户管理界面,实现了用户的增加功能、修改功能、删除功能、查看工程。还提供了下拉列表选择框进行年龄的选择功能。
在标签"json_hibernate extjs json_struts_ext jsp_json_extjs struts2"中,"json_struts_ext"和"jsp_json_extjs"暗示了JSON在Struts2扩展和JSP与ExtJS之间的交互作用。可能有一个配置或者插件用于让Struts2的动作类...
标题中的"ssh_extjs.rar_extjs_extjs ssh_oracle"提到了几个关键的IT技术,它们是SSH(Spring、Struts、Hibernate)框架、ExtJS前端框架以及Oracle数据库。这里我们将深入探讨这些技术及其在Java Web开发中的应用。 ...
### ExtJs Grid 使用详解 #### 一、ExtJs Grid 概览 ExtJs是一个功能强大的JavaScript框架,用于构建复杂的Web应用程序。其中,Grid是ExtJs中最常用的数据展示组件之一,它能够以表格形式显示数据,并提供了丰富的...
标题中的"php-blog.rar_extjs_extjs php_extjs php bl_php blog"暗示这是一个与PHP和EXTJS相关的项目,可能是用于创建一个单用户的博客系统。EXTJS是一个强大的JavaScript库,用于构建富客户端应用,而PHP是一种广泛...
ExtJS是一种基于JavaScript的前端框架,用于构建富客户端应用程序。这个名为"ExtJS--Windows.rar"的压缩包显然是关于如何使用ExtJS来模仿Windows桌面应用的示例或教程。让我们深入探讨一下ExtJS以及如何利用它来实现...
资源名称:获取ExtjS表格的值_ ExtJS_3.4 cellSelectModel资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
ExtJs_2API,ext初学者最佳API
extjs_x主题样式文件
Wcf_Linq_AllFeatureGrid_Edited_0805" 提供的源代码示例展示了如何结合使用ExtJS、WCF(Windows Communication Foundation)和LINQ(Language Integrated Query)技术来构建一个具备完整功能的数据网格(Grid)应用...
extjs_3.4官方离线API,方便查询所有组件属性
DWR 和 Ext 简单例子综合 EXT 2 和 DWR 1 表格编辑控件示例(无数据库版本) EXT 2 表格编辑控件示例(静态页面,与Java无关版本) Netbeans 6 开放文档团队在线通讯录(Ext + DWR + MySQL) ...模拟DWR 引擎通过反射调用类中...