jQuery easyui 如何实现加载列标题

发布于 2022-09-04 03:49:38 字数 115 浏览 12 评论 0

想让前三列固定显示rows的id、begin、end的内容,后边的几列想把adresses的name显示为列标题。如何实现呢??还有easyui怎么回去address里的属性??最好有demo,跪求代码?已崩溃。

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

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

发布评论

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

评论(1

守望孤独 2022-09-11 03:49:38

之前把意思理解错了,现在改了下,看看是不是你需要的结果
clipboard.png

http://runjs.cn/code/fd0i9jin

RUNJS 里的 easyui 是 1.3.1 的,版本有点老,所以加载列和加载数据得分开……

const data = {
    total: 2,
    address: [
        { id: 1, num: "1", name: "博文101" },
        { id: 2, num: "2", name: "博文102" },
        { id: 3, num: "3", name: "博文103" }
    ],
    rows: [
        { id: 1, num: 1, begin: "10:10:30", end: "12:05:30" },
        { id: 2, num: 2, begin: "11:12:30", end: "14:12:30" },
    ]
};

const columns = [[
    { field: "id", title: "ID" },
    { field: "begin", title: "开始" },
    { field: "end", title: "结束" }
].concat(data.address.map(a => ({
    field: `address${a.id}`,
    title: a.name
})))];

const map = data.address.reduce((m, a) => {
    m[a.num] = `address${a.id}`;
    return m;
}, {});

const gridData = {
    total: data.total,
    rows: data.rows.map(r => {
        const row = {
            id: r.id,
            begin: r.begin,
            end: r.end
        };

        Object.keys(map).forEach(key => {
            row[map[key]] = "未预约";
        });
        row[map[r.num]] = `已预约${r.id}`;
        return row;
    })
};

$(function() {
    $("#grid")
        .datagrid({
            columns: columns
        })
        .datagrid("loadData", gridData);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文