代码之家  ›  专栏  ›  技术社区  ›  WoodenKitty

dojo网格:将筛选条件发送到服务器,并带有有效日期

  •  0
  • WoodenKitty  · 技术社区  · 12 年前

    我有一个Dojo EnhancedGrid,它包含一个封装在ObjectStore中的JsonRest对象。我想将我的筛选条件发送到服务器。

    我的代码几乎是:

    var myStore = new JsonRest({target:"data.jsp"});
    var grid = new dojox.grid.EnhancedGrid({
      store: dataStore = new ObjectStore({objectStore: myStore}),
      id:"grid",
      query: { fileId: "*" },
      structure:"mystructure",
      plugins:{
        filter: {
          isServerSide: true,
          setupFilterQuery: setupFilter
        }
      }
    });
    var setupFilter = function(commands, request){
      if(commands.filter && commands.enable){
        request.query.filter = JSON.stringify(commands.filter);
      }
    };
    

    问题是commands.filter似乎没有包含有效的日期对象。在Firefox的代码调试器中查看它,它似乎在日期应该在的地方保存了数字(内存地址?)。

    的示例结果 JSON.stringify(commands.filter) 日期范围查询为:

    {“op”:“all”,“data”:[{“op”:“largerEqual”,“data:[{”op“:“date”,“data”:“uploadDate”,“isCol”:true},{“op:”date“,”data“: 1382706000000 ,“isCol”:false}]},{“op”:“lessEqual”,“data”:[{”op“:”date“,”data“:”uploadDate“,”isCol“:true} 1381150800000 ,“isCol”:false}]}]

    如何在筛选条件中包含有效日期?

    1 回复  |  直到 12 年前
        1
  •  0
  •   Jeremy    12 年前

    数值很可能是自1970年1月1日以来的日期(以毫秒为单位)

    例如

    var a = new Date(1382706000000);

    现在如果你检查一下 a 在调试器中,或者通过将其注销,您应该会看到它是一个日期对象。

    我已注销: Fri Oct 25 2013 14:00:00 GMT+0100 (GMT Daylight Time)