1

カスタム ボタンがサブグリッドに追加された場合 (jqgrid navButtonAdd を使用)、FireFox と IE のみで、ナビゲーション ボタン (トップページャーまたは通常のページャーのいずれかに) にバグがありますか? Chrome では正常に動作するように見えます - また、親グリッドのカスタム ボタンは Firefox と IE でも正常に動作します。これらのブラウザーだけのサブグリッドとしてグリッドにのみ表示されるのは、表面的な問題/ホバーとサイズの問題です。

これは、ボタンのサイズとホバーの配置に関するバグです。

この写真をチェックして、私が何を意味するかを確認してください: http://i.imgur.com/YLroY.png

私のコード (サブグリッドの subGridRowExpanded プロパティ内) は次のようになります。

jQuery("#" + subgrid_table_id).jqGrid('navButtonAdd','#RedirectsTable_' + row_id + '_t_toppager_left',
{
    caption : "Add New Region Url... ", buttonicon : 'ui-icon-plus',
    id : "btnAddNewRegionUrl_" + subgrid_table_id,
    onClickButton : function()
    {
        addNewRegionUrlRow("#" + subgrid_table_id, row_id);
    }
}).jqGrid('navButtonAdd','#RedirectsTable_' + row_id + '_t_toppager_left',
        {
            caption : "Copy All ", buttonicon : 'ui-icon-copy',
            id : "btnCopyRegionUrls_" + subgrid_table_id,
            onClickButton : function()
            {
                copyRegionUrlRows(row_id);
            }
        }); // etc chaining them like this.  Also, I add buttons in this manner for the parent grid and to the bottom pager as well

これを修正する助けがあれば大歓迎です。

ありがとう!:)

4

1 に答える 1

1

私はまだこれはバグだと思います。なぜこれがサブグリッドでのみ発生し、FireFoxとIEでのみ発生し、Chromeでは発生しないのかについて誰かの助けをいただければ幸いです...?

しかし、私はこれを修正するための「正しい方法」ではないハックを投稿すると思いましたが、それは見た目には機能します。

親グリッドのcolModelのsubGridRowExpandedプロパティ内で、次のコードをgridCompleteイベントプロパティに配置して、グリッドが完成して使用できるようになったら、これらのサブグリッドナビゲーションボタンの幅を設定します。これは控えめに言ってもエレガントでないハックですが、機能します。

明らかに、これは厄介な幅のハードコーディングであり、ボタンのテキストがデータベースなどから動的である場合は機能しませんが、私にとってはこれで問題ありません。

そこで、Chromeが「正しい」幅として報告したものを確認し、次のコードを追加しました(明らかに、私の代わりにnavButtonAddボタンIDを使用してください)。

 gridComplete : function()
    {
    //hack for FF & IE widths dont work in subgrid nav buttons- bug in jqgrid?
    $("#btnAddNewRegionUrl_" + subgrid_table_id).children(".ui-pg-div").width("133px");
    $("#btnCopyRegionUrls_" + subgrid_table_id).children(".ui-pg-div").width("63px");
    $("#btnPasteRegionUrls_" + subgrid_table_id).children(".ui-pg-div").width("63px");
    }

これがお役に立てば幸いですが、コメントや提案がある場合は、チャイムを鳴らしてください。@オレグ?

ありがとう :)

于 2011-09-15T00:18:36.977 に答える