javascript - 单击 dojo 网格标题的日期排序

标签 javascript dojox.grid.datagrid

我正在尝试对 dojo 网格中的日期进行排序。但是排序没有正确发生,它将日期视为字符串并且排序不起作用。有什么可以帮助我的吗?

我的日期格式:EE MMM dd yyyy HH:mm:ss z

我的代码:

myStore =  new ItemFileWriteStore({ 
    data:storeData
});
myStore.comparatorMap = {};

myStore.comparatorMap["scan_date"] = function(a,b){
    var af = dojo.date.locale.parse(a,{datePattern:"dd/MM/yyyy hh:mm:ss",selector:"date"});
    var bf = dojo.date.locale.parse(b,{datePattern:"dd/MM/yyyy hh:mm:ss",selector:"date"});

    var c = dojo.date.compare(af, bf);
    return c;
}
// myStore.comparatorMap = {};
// myStore =  new ObjectStore({ objectStore:new Memory({ data: data }) });
grid = new DataGrid({
    store: myStore,
    query: { id: "*" },
    queryOptions: {},
    structure: [
        { type: "dojox.grid._RadioSelector" },
        [
            // {name:'S.No.', field: 'Id', width: '47px'},
            {name:"Client Name",field:"client_name",width: "auto"},
            {name:"Contractor Name",field:"contractor_name",width: "auto"},
            {name:"Barcode Number",field:"barcode_number",width: "auto"},
            {name:"Replacement Seal Number",field:"container_number",width: "auto"},
            {name:"Container Number",field:"container_no",width: "auto"},
            {name:"Address",field:"address",width: "auto"},
            {name:"Scan Date & Time",field:"scan_date",datatype:"date",width: "auto",formatter:formatDate},
            {name:"Contractor Remarks",field:"contractor_remarks",width: "auto"}
        ]
    ]
    }, "grid");
    grid.startup();
});

最佳答案

因为你的日期格式是

EE MMM dd yyyy HH:mm:ss z

你可能需要改变你的,

dojo.date.locale.parse(a,{datePattern:"dd/MM/yyyy hh:mm:ss",selector:"date"});

具有如下所示的正确日期格式,

dojo.date.locale.parse(a,{datePattern:"EEE MMM dd yyyy HH:mm:ss Z",selector:"date"});

关于javascript - 单击 dojo 网格标题的日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23356820/

相关文章:

javascript - Safari 不允许与输入的密码交互,同时允许输入到其他输入字段

javascript - 返回node.js中的目录(fs.readFileSync)

javascript - 关闭不保持状态变化

javascript - 在新行的复选框旁边显示文本

javascript - Dojo 增强网格 : how to get selected column?

javascript - Dojo 工具提示对话框

javascript - 如何将图像用作用 Canvas 制作的文本的颜色

javascript - Dojo IE DataGrid 内联编辑

javascript - Dojo - 调用排序后行从 DataGrid 中消失

javascript - 如何获取 dojo 网格中的列名称。