0

4.7.1 から 4.8.0 への移植時にいくつかの問題が見つかりました。

  1. ページング - 「要求された」ページを見つけるために $(".ui-pg-input").val() を使用していました。複数のグリッドがある場合、後で $("#pg_"+pagerName).find('.ui-pg-input')[0].value を使用しました。それらのどれも現在機能していません。グリッドの状態に関係なく、「1」を取得し続けます。(私がそれを必要とする理由は、ページング用に別のキーを使用して postData を構築していて、グリッドが Ajax を再度投稿する前にいくつかの計算を行う必要があるためです。そのため、ユーザーが次のページをクリックするとすぐに postData を変更する必要があります。 )。したがって、これはもう機能していません。

  2. ツールバーフィルターには、列挙値の右側に X がありません (別名、リストから選択する必要がある列には、フィルターをリセットするための X がありません)。

  3. ページの要素にいくつかの変更があります。折りたたみ/展開用のボタンを追加しました (はい、組み込みの折りたたみ/展開を認識していますが、2 つのグリッドでアコーディオンを演奏する必要があり、展開/折りたたみが発生した後にイベントがトリガーされたため、非表示にしています) 、アコーディオンをシミュレートするために、ユーザーがグリッド全体の展開/折りたたみをクリックするとすぐにイベントをキャッチする必要がありました)。とにかく、次のとおりです。

    $(nameOfGrid).closest(".ui-jqgrid-view").find(".ui-jqgrid-titlebar>.ui-jqgrid-titlebar-close").hide();
        $(nameOfGrid).closest(".ui-jqgrid-view").find(".ui-jqgrid-titlebar>.ui-jqgrid-titlebar-close").after('<button id="' + gridName + 'headerButton" type="button" class="titlebutton" role="button" style="float:right; position:relative; font-size:12px; right:3px;">Collapse</button>');
    

はまだ機能していますが、かつては右にうまく配置されていたものが、めちゃくちゃに見えて 1 行下に移動しています。ヘッダーに関連して何か変更されましたか? 展開/折りたたみが発生する前に、タイトルバーで展開のイベントをキャッチできる別の方法はありますか?

  1. 検索ダイアログ 'searchGrid' (高度なクエリを実行できるもの、右上のモーダルを閉じるための X がありません。これは、私が試した複数のテーマに当てはまります。

  2. 上部バーのテーブルレイアウトが変更されたと思います。右上のバーに(新しいボタンなどの)微調整をいくつか追加しましたが、画面が小さい場合はそれらの場所が足りないようです。

  3. 私のグリッド幅の設定は、autowidth: true、shrinkToFit: true ですが、columnchooser を使用してフィールドを追加すると、グリッドの幅が維持されず、どんどん広くなります。実際、下部にある内側のスクロール バーは使用されません。グリッドはどんどん広くなり、内部スクロールはありません。

  4. _toppager 全般に関して何か変更がありましたか? (上記の#5も説明できます)。このコードは、3.7.1 でうまく機能し、左上に更新アイコンを生成していましたが、代わりに 2 つのアイコンを生成しています。動作していないアイコン (左上) と上部バーの中央下部にもう 1 つです。 、バーの高さをそのサイズの 2 倍にします。

    $(nameOfGrid).jqGrid('navButtonAdd', nameOfGrid + '_toppager', { caption: "", buttonicon: "ui-icon-refresh", title: "refresh", onClickButton: function () { $(nameOfGrid). setGridParam({ postData:sessionListData($(nameOfGrid),gridName)}).trigger("reloadGrid"); } });

素晴らしい作品をありがとう:-)

4

1 に答える 1

0

フィードバックありがとうございます。既存の構造を変更せずに新しい機能を実装することは非常に困難です。そのため、一部の CSS 要素の内部構造は、無料の jqGrid 4.8 で実際に変更され、jQuery UI アイコンだけでなく機能するようになりました。今後、累積的な質問を投稿しないでください。このような質問は、検索エンジンによって適切にインデックス化されない可能性があり、他のユーザーが回答を見つけるのが難しくなります。

1) ページャーの既存の構造の問題点と jqGrid 4.8 での変更点については、こちら で説明しています。の 2 番目のパラメーターを使用することをお勧めしますonPaging。の既存のコードを簡単に変更できることを願っていますonPaging

2) フィルター ツールバーの主な問題は、入力/選択要素の幅です。1 つの使用searchOperators: trueオプションまたは 1 つがデフォルトclearSearch: trueプロパティを使用する場合searchoptions、検索操作要素が検索ツールバーのすべてxの要素に追加されます。それは多くの場所を取ります。場合によっては、そのような要素の挿入は冗長です。この場合、要素はデフォルトで非表示になります。表示する必要がある場合は、使用する列の中にプロパティを明示的に追加するだけです。x clearSearch: truesearchoptionsstype: "select"

3) グリッド ツールバーをカスタマイズし、標準のアイコンを<button>テキストに置き換えたようですCollapse。カスタマイズの必要性は、新しい CSS 構造に対応し、正確な要件に対応しています。以下は、そのような実装の例です。

var $closeButton = $(nameOfGrid).closest(".ui-jqgrid-view").find(".ui-jqgrid-titlebar>.ui-jqgrid-titlebar-close");
$closeButton.css({width: "auto", height: "auto", top: "auto", marginTop: 0, position: "relative", float: "right"});
$closeButton.html('<button type="button" role="button" style="font-size:12px">Collapse</button>');
$closeButton.siblings(".ui-jqgrid-title").css({marginTop: "5px", display: "inline-block"});

4) 問題を再現できません。このようなデモを試すことができます。閉じるアイコンが表示されます。したがって、問題が発生した場合は、新しい質問を開いて、問題を再現するために使用できるデモを (たとえばjsFiddleで) 投稿する必要があります。

5)-6) 問題を再現するために使用できるデモを投稿する必要があります。問題の現在の説明は、問題を再現するのに十分なほど詳細ではありません。

于 2015-03-15T09:05:31.370 に答える