1

我正在使用 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);

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

有任何想法吗?提前致谢!

4

1 回答 1

1

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

创建一个包装器 div,如下所示:

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

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

带着敬意,

于 2012-09-20T23:10:38.107 回答