0

KendoUI グリッドがあります。その中で、列の 1 つにカスタム コマンドが定義されています。

command: { text: "Add", click: addLine }

このグリッドは、ユーザーがボタンをクリックすると剣道ウィンドウ内に表示されます。同じボタンがグリッドを再レンダリングし、最初に HTML をクリアします。

$("#kendoGridQuick").html("");
$("#kendoGridQuick").kendoGrid({

グリッドが作成されると、ウィンドウが表示されます。私の問題は、このウィンドウを表示してグリッドを作成した回数とまったく同じように、このコマンドが起動されることです。したがって、最初は問題なく動作しますが、2 回目は 2 回、3 回目は 3 回呼び出されます。

4

3 に答える 3

5

Grid問題は、オブジェクトを破棄していないことです。Grid.destroyHTML をクリアする前にメソッドを呼び出す必要があります。

var grid = $("#kendoGridQuick").data("kendoGrid");
// detach events
grid.destroy();

さらに、CPU とメモリの開閉を節約し、グリッドを破壊しないようにします。常に同じ基本構造を使用している限り、ウィンドウが開こうとしているときに新しいデータを再バインド/再読み込みできます (はるかに高速で簡単です)。

于 2013-03-21T18:11:33.280 に答える
2

グリッドの作成と破棄にCPUを浪費する代わりに。ページがロードされたときにグリッドを1回だけ初期化し、ボタンがクリックされたときにウィンドウを表示/非表示にします(再初期化する必要はありません)。

それでも問題が発生する場合は、コードを共有して、グリッドを初期化する場所と方法を確認してください。

于 2013-03-21T18:26:33.747 に答える
-1

これが剣道グリッドです。ただし、データを再度入札する前に、以下を処理してグリッドをクリアできます。

$("#gridSaleEvent").html("");

于 2015-03-24T11:20:31.137 に答える