Html 在值类型上设置dojo datagrid单元格depands中的combobox

Html 在值类型上设置dojo datagrid单元格depands中的combobox,html,dojo,dojox.grid,Html,Dojo,Dojox.grid,有人能帮助我如何在DataGrid(dojox/grid)单元格中分别为列中的每个单元格编程设置Combobox吗 结构参数:cellType执行其任务,但列中的所有单元格都继承定义的类型 使用formatter函数,我们可以返回Combobox对象,但它的行为与插入cellType的Combobox不同 我也在考虑onStartEdit函数,但我不知道如何实现它 我想实现的是,如果单元格中的值是文本,那么我想显示所有可能的组合框。如果值是一个数字,我根本不想显示combobox 示例代码:(D

有人能帮助我如何在DataGrid(dojox/grid)单元格中分别为列中的每个单元格编程设置Combobox吗

结构参数:cellType执行其任务,但列中的所有单元格都继承定义的类型

使用formatter函数,我们可以返回Combobox对象,但它的行为与插入cellType的Combobox不同

我也在考虑onStartEdit函数,但我不知道如何实现它

我想实现的是,如果单元格中的值是文本,那么我想显示所有可能的组合框。如果值是一个数字,我根本不想显示combobox

示例代码:(Dojo版本1.9.11)


我认为定义格式化程序函数可能会有所帮助。 从文档中看一看

function formatCell(value){
    //perform your logic here
}

var layout = [
    {
        name: 'Cell1', 
        field: 'id'
    },
    {
        name: 'Cell2', 
        field: 'date',
        formatter: formatCell
    }
];
在您的情况下,它将在这里:

gridStruc.push({name: 'Name', formatter: formatCell, field: 'col1', width: '100px', editable: false});
我不知道为什么要使用array.push,但在这种情况下这并不重要


另外请检查,这里有一个如何将小部件放入单元格的示例。这可能会有帮助。

谢谢回复!返回带有格式化程序的dijit.form小部件至少对ComboBox不会带来理想的结果。正如我检测到dojox.grid使用扩展类cells.dijit创建具有适当功能的小部件(如果我们在结构中使用cellType),但我不知道如何将它们与格式化程序一起使用(您可以运行我的代码,并查看使用dijit.form.ComboBox和dojox.grid.cells.ComboBox之间的差异)。
gridStruc.push({name: 'Name', formatter: formatCell, field: 'col1', width: '100px', editable: false});