easyui的datagrid 怎么实现Map的key作为列,value作为值进行显示

发布于 2022-09-05 10:59:45 字数 1057 浏览 13 评论 0

公司目前有个需求,就是生成类似旷工表的一个功能。

目前生成相应数据的逻辑已近写好了,在展示上有些问题。

因为要求是在前端选一个startDate和endDate,然后返回这个时间段的符合的数据,因为时间段是不固定的,所以我用了List<Map<String,String>>这个格式。

生成的数据是:

[
    {
    "empid": 19,
    "name": "AAA",
    "maps": [
    {
    "2017-08-01": "noAbs"
    },
    {
    "2017-08-02": "noAbs"
    },
    {
    "2017-08-03": "noAbs"
    },
    {
    "2017-08-04": "noAbs"
    },
    {
    "2017-08-05": "abs"
    },
    {
    "2017-08-06": "abs"
    },
    {
    "2017-08-07": "noAbs"
    },
    {
    "2017-08-08": "noAbs"
    },
    {
    "2017-08-09": "noAbs"
    },
    {
    "2017-08-10": "noAbs"
    },
    {
    "2017-08-11": "noAbs"
    },
    {
    "2017-08-12": "abs"
    },
    {
    "2017-08-13": "abs"
    },
    {
    "2017-08-14": "noAbs"
    },
    {
    "2017-08-15": "abs"
    },
    {
    "2017-08-16": "noAbs"
    },
    {
    "2017-08-17": "abs"
    },
    {
    "2017-08-18": "abs"
    }
]

现在是想拿到这个maps,然后把map的key作为datagrid的列,map的value作为值,动态的显示结果。

请问各位大佬有啥好的解决办法吗?感激不尽!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

醉态萌生 2022-09-12 10:59:45

利用 datagrid loadFilter 属性

返回要显示的过滤数据。该函数有一个参数 'data' ,表示原始数据。您可以把原始数据变成标准数据格式。该函数必须返回标准数据对象,含有 'total' 和 'rows' 属性。

举个栗子:

loadFilter:function(data){
    console.log(data); // 这是你加载到的原始数据,调试到console上方便查看
    var Obj = {};
    Obj.total = data.empid;
    Obj.rows = data.maps;  // 类似的取出(转换数据)
    return Obj;  // 再输出给控件加载
}
舂唻埖巳落 2022-09-12 10:59:45

我记得返回的数据是有个过滤回调的 你把返回数据做下处理不就好了吗

浅浅 2022-09-12 10:59:45

作者这个问题怎么解决的啊?能不能说一下你的思路啊?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文