データベースからのテーブルのリストと、空の配列の列属性で最初に設定されたグリッドが入力されたKendoUIDropDownListを備えたアプリがあります。
...列:[]..。
目的は、リストからテーブルを選択し、テーブル名をサーバーに送信して、サーバーに列名と「SELECT*FROMtable」クエリからのデータを含むJSONデータを返すようにすることです。データは期待どおりに返され、最初は次のように使用できます。ここで、「自己」はビュー/モデルのグリッドへの単なる参照です。
self.columns.removeAll();
for (var i = 0; i < joOutput["Cols"].length; i++) {
var col = { title: joOutput["Cols"][i], field: joOutput["Cols"][i] };
self.columns.push(col);
}
データを抽出してグリッドデータソースに割り当てた後、グリッドは正しい列ヘッダーとデータで正しく表示されます。しかし、リストから別のテーブルを選択してサーバーからデータを受信すると、上記のコードの実行によってグリッド列が更新されたように見えても、グリッド表示は更新されません。画面に表示される結果は、列ヘッダーが最初のグリッドの列の名前であり、2番目のクエリから返された行の空の行の数です。
http://www.kendoui.com/forums/ui/grid /dynamically-add-new-column.aspxのフォーラム投稿に見られるように、この列の動的操作は非常に難しいようですが、その投稿は終了しています。特に3月20日の新しいリリースのウェブキャストに照らして、これに関してある程度の進展があったことを願っています。だから私は疑問が残っていると思います:私が求めているのは可能でさえありますか、それとも私はSOLですか?ありがとう。