flexigrid - 如何更改colmodel

时间:2012-09-18 13:04:34

标签: jquery ajax json flexigrid

我正在使用flexigrid通过ajax从服务器显示一些数据。问题是我无法事先告诉哪些列将被显示。

如何根据检索到的数据设置colModel?

在ajax文件中,我在json中添加了一个“cols”键,用于枚举row.cell键中的列:

{
    "page": "1",
    "total": 1,
    "rows": [
        {
            "id": "1",
            "cell": {
                "id": "1",
                "name": "Some data"
            }
        }
    ],
    "cols": [
        "id",
        "name"
    ]
}

在populate()中,我这样做:

//ajax success
p.colModel = {};
var colModelItem = new Array();
for(var col in data.cols)
{
        colModelItem.push({
                "display": data.cols[col],
                "name": data.cols[col],
                "width": 80,
                "sortable": true,
                "align": "center"
                });
}
p.colModel = colModelItem;

//g.addData(data);

之后我尝试使用创建标题的功能但没有成功。

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,动态列,我解决了一个解决方法:

创建一个包装器div,就像那样:

    $("#searchResults").empty();
    $("#searchResults").append($("<div>").attr("id", "flexiGridHack"));

而不是使用原来的Div,你使用新的Div。

关心,