0

最近このライブラリをテストしていて、JqGridColumnEditable でモデル プロパティをマッピングするときに、dataUrl パラメータを指定して、ライブラリが選択入力 (EditType = JqGridColumnEditTypes.Select) のデータを取得できることに気付きました。

私の質問は簡単です:実際にオプションを作成するには、buildSelect js 関数を実装する必要がありますか? つまり、返されるjsonパターンをどこでも検索して、自動的に構築できるようにしました。実装されていないとは信じられないからです。

dataUrl から json を受信したときに選択入力が自動的に入力されるかどうかは誰にもわかりますか? 予想される形式は何ですか?それが (まだ) 可能でない場合、手動で入力するために buildSelect 関数から選択入力にアクセスするための提案は何ですか? 私は「これ」を引用符なしで試しましたが、失敗しました。

4

1 に答える 1

0

残念ながら、この制限は jqGrid 自体の内部にあります。ここでドキュメントを確認できます-サーバーを使用している場合は、すぐに使用できる要素dataUrlを返す必要があるか、関数を使用する必要があることが明確に示されています。selectbuildSelect

buildSelect要素にアクセスしない関数を使用しているときは、select要素を返します。次のようになります (このサンプルでは、​​データが Key プロパティと Name プロパティを持つオブジェクトのコレクションであると想定しています)。

var buildSelectFunction = function(data) {
    var selectItems = JSON.parse(data.responseText);
    var selectMarkup = '<select>';

    if (selectItems && selectItems.length) {
        for (var i = 0; i < selectItems.length; i++) {
            var selectItem = selectItems[i];
            selectMarkup += '<option value="' + selectItem.Key + '">' + selectItem.Name + '</option>';
        }
    }

    return selectMarkup + '</select>';
};
于 2013-04-25T09:09:05.707 に答える