1

flexigrid を使用して、サーバーから ajax 経由でデータを表示しています。問題は、どの列が表示されるかを事前に知ることができないということです。

取得したデータに基づいて colModel を設定するにはどうすればよいですか?

ajax ファイルで、row.cell キーにある列を列挙する json に「cols」キーを追加しました。

{
    "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 に答える