Rendering combo values in Editor Grid Panels.
editorgrid panel 中combo值显示
当您Editor Grid Panel 中给某一列指定editor为combo box时,, 您要显示combo的display field的值而不是combo 的value值。 您可能需要使用一个combo value为 1,2,3 ,而它依次代替红色、 绿色和蓝色的三颜色。
最好的方式是去覆写Ext.grid.GridView 的 doRender 方法 在doRender(args) 参数中添加其它你需要的参数,
如下为作者覆写的 doRender 方法
Ext.override(Ext.grid.GridView, {
doRender : function(cs, rs, ds, startRow, colCount, stripe){
var ts = this.templates, ct = ts.cell, rt = ts.row, last = colCount-1;
var tstyle = 'width:'+this.getTotalWidth()+';';
var buf = [], cb, c, p = {}, rp = {tstyle: tstyle}, r;
for(var j = 0, len = rs.length; j < len; j++){
r = rs[j]; cb = [];
var rowIndex = (j+startRow);
for(var i = 0; i < colCount; i++){
c = cs[i];
p.id = c.id;
p.css = i == 0 ? 'x-grid3-cell-first ' : (i == last ? 'x-grid3-cell-last ' : '');
p.attr = p.cellAttr = "";
p.value = c.renderer(r.data[c.name], p, r, rowIndex, i, ds, this.grid);
p.style = c.style;
if(p.value == undefined || p.value === "") p.value = " ";
if(r.dirty && typeof r.modified[c.name] !== 'undefined'){
p.css += ' x-grid3-dirty-cell';
}
cb[cb.length] = ct.apply(p);
}
var alt = [];
if(stripe && ((rowIndex+1) % 2 == 0)){
alt[0] = "x-grid3-row-alt";
}
if(r.dirty){
alt[1] = " x-grid3-dirty-row";
}
rp.cols = colCount;
if(this.getRowClass){
alt[2] = this.getRowClass(r, rowIndex, rp, ds);
}
rp.alt = alt.join(" ");
rp.cells = cb.join("");
buf[buf.length] = rt.apply(rp);
}
return buf.join("");
}
});
其处理的关键点在
p.value = c.renderer(r.data[c.name], p, r, rowIndex, i, ds, this.grid);
在此处添加更多的参数
接下来你就可以自己定义你的renderer了。
someRenderer = function(v,md,r,ri,ci,s,g){
var f = g.getColumnModel().getCellEditor(ci,ri).field;
var s = f.store;
record = s.getById(v);
if (typeof record != 'undefined') {
return record.data[f.displayField];
} else {
return v;
}
};
如果你的combo 使用remote load数据, (ie triggerAction: 'query', mode: 'remote')
当combo里选择过时,它的下拉列表被过滤了,而不能显示出值来。
如果这样,你可以重新在 var s =f.store 此行时定义一个新的store来作筛选用。
end translate------
其实我们通常用的combo很少会用到triggerAction:'query'的方式。
使用 triggerAction:'all' 方式就可避免点了下拉时看不到数据的情况。
分享到:
相关推荐
【标题】"gridctrl_combo_demo.zip" 是一个包含C++编程示例的压缩包,主要展示了如何在"grid"控件中集成复选框功能,从而实现更丰富的用户交互。这个DEMO着重于"Cgridctrl combo"的使用,即组合框(ComboBox)与网格...
### easyui的datagrid中editor和combobox的级联 在前端开发中,easyui是一个非常实用的库,它提供了一套完整的用户界面组件,能够帮助开发者快速构建出功能丰富的Web应用。其中,`datagrid`是easyui提供的一个重要...
**jQuery Combo下拉框示例详解** 在网页开发中,下拉框(Dropdown List)是一种常用的用户界面元素,用于提供用户选择多个预定义选项。jQuery ComboJS是一个轻量级的库,专门用于创建功能丰富的下拉框组件。它以其...
而Combo Box,则是一种常见的用户界面元素,它可以显示一个可下拉的列表,用户可以从这个列表中选择一项或多项,也可以手动输入文本。 ### MFC中实现Combo Box的关键步骤 根据提供的代码片段,我们可以看到实现一...
**jQuery下拉查询筛选插件Combo Select** 在Web开发中,为了提高用户体验,经常会使用到下拉选择框,特别是当选项列表很长时。jQuery库提供了一种强大的方式来增强原生HTML元素的功能,其中就包括了`Combo Select`...
"combo-select 模糊查询下拉框"是一个前端开发组件,主要用于提高用户在网页中进行数据选择时的交互体验。这个组件结合了下拉框和模糊查询的功能,使得用户可以通过输入关键字快速找到并选择目标选项,尤其适用于...
需要注意的是,尽管jQuery-ComboSelect提供了许多便利,但在实际项目中,开发者仍需关注性能问题。例如,如果下拉列表包含大量数据,应考虑使用分页或懒加载策略,避免一次性加载所有选项导致页面卡顿。 总的来说,...
- 创建 `GridComboBox` 需要配置 `store`(数据源)、`displayField`(显示字段)、`valueField`(值字段)等基本属性。 - 为了将 `GridPanel` 与 `ComboBox` 结合,你需要创建一个自定义的下拉模板,定义如何展示...
### Combo使用添加、删除、查找、设置当前显示 在软件开发过程中,组合框(ComboBox)是一种常见的用户界面元素,用于提供一系列预定义选项供用户选择。本文将详细介绍如何使用组合框进行添加、删除、查找以及设置...
本篇文章将详细解释如何在VB的组合框中显示数据库一列的所有记录。 首先,我们需要理解VB中的组合框(ComboBox)控件。这是一个可下拉的文本框,既可以输入文本,也可以从预设的选项列表中选择。它适用于有限的、...
这个代码片段的功能是将组合框`Combo1`中索引为4的项目值赋给文本框`Text1`,使得用户界面的文本框显示组合框的某个选定内容。这对于数据展示、用户输入验证或进一步的数据处理都是很有用的。 在实际应用中,`Combo...
Combo控件是软件开发中常用的一种用户界面元素,它结合了下拉列表和文本框的功能,使得用户在输入文本的同时可以方便地从预定义的选项中选择。在本篇文章中,我们将深入探讨Combo控件的基本概念、使用场景、功能特点...
标题所提到的“vc6重绘的一个combo,可以显示超过combo长度的文本”,是指通过自定义重绘ComboBox控件的方式,解决了这个限制问题。开发者通常会通过以下步骤实现这一功能: 1. **派生一个新的ComboBox类**:创建一...
《jQuery Combo-Select:构建高效的下拉选择器》 在Web开发中,jQuery库因其简洁易用的API和丰富的插件生态,深受开发者喜爱。其中,"jQuery combo-select"是一种常见的交互元素,它将传统的下拉选择器(select)与...
- **事件参数解析**:`e` 是一个对象,包含了与查询相关的各种信息,如当前的`ComboBox`实例(`combo`)、查询值(`query`)等。 - **过滤逻辑**: - 检查`e.forceAll`是否为`true`,如果为`true`则表示需要加载所有...
"下框组件下拉选择面板为多列Grid的实现"是一个高级的UI设计,它扩展了传统下拉框的功能,使得在有限的屏幕空间内展示更多信息成为可能。这个组件尤其适用于数据密集型应用,如表格数据管理或配置设置,它能帮助用户...
通常情况下,`ComboBox` 用于展示和选择单个值,而 `Grid` 用于展示多行数据。然而,在某些场景下,我们可能需要在一个 `ComboBox` 下拉菜单中展示更多的信息,比如表格形式的数据,这就需要用到 XTemplate。 ...
Tree Table结合了表格和树状结构的特点,适用于显示层次分明的数据,如组织架构、文件目录等。它提供了展开/折叠节点、筛选、排序等功能,使得复杂数据的展示和操作变得直观易用。在Vue.js中,使用Element UI的Tree ...
jQuery下的 Combo Select 插件是一种高效且用户友好的下拉查询筛选工具,广泛应用于网页开发中,特别是需要在大量数据中快速查找和选择项时。这个插件是基于HTML5技术构建的,确保了在现代浏览器中的兼容性和性能。...
标题“COMBO下拉框自动变宽”涉及到一个功能,即让COMBO Box的宽度根据其中显示的内容动态调整,以确保所有文本都能完全可见,而不会被截断。这种功能在设计用户界面时非常实用,因为它提供了更好的可读性和用户体验...