0

ここにテストケースがあり、この例で選択した場合のようにグリッド行フォームを表示できるようにするために、ドキュメントで見つけることができるほとんどすべての要件をカバーしたと思います。私はおそらくこれに深く関わっていますが、フォローアップするためのjavascriptエラー/警告はまったくありません...

レコードをダブルクリックしてグリッド行を表示する必要がありますが、それは私をブラックホール化しています。私はこの問題にいくつかの新鮮な目を使うことができました。ページャーアイコンもダブルクリックも機能していないようです。

誰かが私の途中で私を助けることができますか?助けてくれてありがとう。試してみたときにコードでエラーが発生した場合は、試してみている最中なので、完了時に構文がチェックアウトされることを確認します。

4

2 に答える 2

1

不足しているのは次のコードです。

onSelectRow: function (id) {
    $(this).jqGrid('viewGridRow', id, viewParam);
},

配置する場所:

$grid.jqGrid({

    ... // Some code attribute

    onSelectRow: function (id) {
        $(this).jqGrid('viewGridRow', id, viewParam);
    },

    ... // Some more code attributes
});

カスタムJavaScriptを編集しますevent.js。使用方法と適用方法を習得したら、すぐに行を選択します。そうすれば、ポップアップなど、やりたいことができるはずです。onSelectRowこれは、特定の属性について多くのことを読む必要があることを意味します。

于 2012-12-11T00:24:32.013 に答える
1

まず、jquery.jqGrid.jsjqGrid4.1.1の最小化バージョンであるファイルをjquery.jqGrid.src.js現在のjqGrid4.4.1に置き換えることをお勧めします。jquery.jqGrid.src.js一般に、に同じ問題がある場合は、常に同じ問題を再現するようにしてくださいjquery.jqGrid.min.js。jqGridは恒久的に変更され、多くのバグ修正が修正され、新しい機能が追加されます。たとえば、jqGrid 4.3.3では、ここで説明されているGoogleChromeバージョン>=19でのグリッド幅の誤った計算が修正されています。jQuery1.6の現在のバージョンや他の多くのものをサポートするための修正が実装されました。バージョンjqGrid4.1.1はほぼ2年前のものであり、これはWebの世界では非常に重要です。

さらに、絶対に使用afterInsertRowせず、常に使用するgridview: trueことをお勧めします。その理由は、グリッドのパフォーマンスです。ページ上の要素(DOM要素)の操作は、コンピューター言語で知られている他の変数と同様に、他の方法で整理する必要があることを理解することが非常に重要です。その理由は、ページ上の1つの要素を変更した場合、Webブラウザーは、ページ上の既存のすべての要素の位置スタイルなどを再計算する必要があるためです。少なくともWebブラウザは、変更が必要かどうかをすべての要素で確認する必要があります。そのような手順の名前は、Webブラウザのリフローです。問題の詳細を説明している回答を読むことをお勧めします。同じように、ループを減らすようにしてください。loadCompleteまたはgridComplete、すべての行を列挙して、多くの行に変更を加える場合。このようにして、グリッドのパフォーマンスは何度も低下します。プログラムを書く別のスタイルを使用する場合は、以前と同じように正確にクリーンで理解しやすく、非常に迅速に機能する可能性があります。たとえば、答えの中に、そのようなコードの変換の実際の例が1つあります。

于 2012-12-13T15:41:21.757 に答える