0

我已经为包含图像的 dojo 数据网格列编写了代码。

代码:格式化程序:函数(cellValue,rowIndex){

    if(data.items[rowIndex].status == "COMPLETED"){
          return "<img src='app/img/dot_done.png' />"+ " " +cellValue; 
    }
        else if(data.items[rowIndex].status == "IN_PROGRESS"){
          return "<img src='app/img/dot_in_progress.png' />"+" " +cellValue; 
    }
       }

输出为:排序前:

      (done.img) complete

      (block.img) block

       (done.img) complete

       (block.img) block

排序后:

       (done.img) block

       (block.img) block

       (done.img) complete

       (block.img) complete

因此,对于上面的代码,它不是对图像进行排序,而是对单元格值进行排序。

有人可以建议我解决这个问题吗?

提前致谢。

我在这里添加代码:

    var store = new ItemFileWriteStore({data: data}); 

var layout = [[

{'name': 'TaskName', 'field': 'task_name', 'width': '20%',styles: 'text-align: center;'},


{'name': 'Status', 'field': 'status', 'width': '15%', styles: 'text-align: center;',

      formatter: function(cellValue, rowIndex){

                if(data.items[rowIndex].status == "COMPLETED"){ 

                    return "<img src='app/img/dot_done.png' />"+ " " +cellValue; } 

                }}]]; 

        var grid = new DataGrid({

                 id: 'grid', store: store, structure: layout, 

             });

        grid.placeAt("newdiv");

        grid.startup();
4

2 回答 2

1

这是一个可以解决您的问题的stackoverflow答案:

格式化程序访问其他行内容时如何正确排序dojo datagrid单元格

于 2013-03-20T06:59:27.630 回答
0

我终于找到了这个错误。而不是数据存储,我必须使用 cellValue 来比较这些值。

 function(cellValue, rowIndex){

    if(cellValue == "COMPLETED"){
          return "<img src='app/img/dot_done.png' />"+ " " +cellValue; 
    }
        else if(cellValue == "IN_PROGRESS"){
          return "<img src='app/img/dot_in_progress.png' />"+" " +cellValue; 
    }
       }
于 2013-04-06T14:17:37.437 回答