如何为 Dojo DataGrid 中的同一列指定不同的编辑器小部件
How to specify different editor widgets for the same column in Dojo DataGrid
我想知道,是否有官方方法可以为 DataGrid
(不同行)中的同一列指定不同的小部件编辑器?
找到了dojox.grid.cells._MultipleEditor
,但是比较复杂,官方不支持
这是为了创建像 属性 sheet 和 DataGrid
这样的东西。
编辑:人们似乎建议使用 dgrid
。但是,我不确定 dgrid
是否有此功能。另外,不幸的是,... 鼓声...恐怖音乐...我必须支持IE6。
好吧,似乎有办法做到这一点。似乎没有显示出太多负面影响(到目前为止)...
为每个值类型创建一列,一列接一列。
用 CSS class 标记每列以指示其值类型(通过 classes
)。例如:classes="multivalue int"
对于每一列,使用正确的编辑器小部件和适当的约束和选项对其进行标记。
在与每种类型相对应的每一行(onStyleRow
)上放置样式。例如,将 type-int
class 添加到具有 int
类型的行。
放入最初隐藏所有 multi-valued 单元格的 CSS 样式:
.dojoxGridCell.multivalue { display:none; }
Un-hide 所有类型正确的单元格:
.dojoxGridRow.type-int .dojoxGridCell.multivalue.int
{
display:table-cell;
*display:block; /* For IE6/7 */
}
显然,每一行都必须与 一个 列完全匹配。
显然,您必须将所有这些字段设置为相同的 属性 名称。 DataGrid
允许你这样做。
将 display:none
(通过 CSS 等)放在 multi-valued 列的所有 header 单元格上 除了第一个一个。否则,您最终会得到太多 header 个单元格。
我想知道,是否有官方方法可以为 DataGrid
(不同行)中的同一列指定不同的小部件编辑器?
找到了dojox.grid.cells._MultipleEditor
,但是比较复杂,官方不支持
这是为了创建像 属性 sheet 和 DataGrid
这样的东西。
编辑:人们似乎建议使用 dgrid
。但是,我不确定 dgrid
是否有此功能。另外,不幸的是,... 鼓声...恐怖音乐...我必须支持IE6。
好吧,似乎有办法做到这一点。似乎没有显示出太多负面影响(到目前为止)...
为每个值类型创建一列,一列接一列。
用 CSS class 标记每列以指示其值类型(通过
classes
)。例如:classes="multivalue int"
对于每一列,使用正确的编辑器小部件和适当的约束和选项对其进行标记。
在与每种类型相对应的每一行(
onStyleRow
)上放置样式。例如,将type-int
class 添加到具有int
类型的行。放入最初隐藏所有 multi-valued 单元格的 CSS 样式:
.dojoxGridCell.multivalue { display:none; }
Un-hide 所有类型正确的单元格:
.dojoxGridRow.type-int .dojoxGridCell.multivalue.int { display:table-cell; *display:block; /* For IE6/7 */ }
显然,每一行都必须与 一个 列完全匹配。
显然,您必须将所有这些字段设置为相同的 属性 名称。
DataGrid
允许你这样做。将
display:none
(通过 CSS 等)放在 multi-valued 列的所有 header 单元格上 除了第一个一个。否则,您最终会得到太多 header 个单元格。