Почему эта ошибка в jqgrid-подсети navButtonAdd Custom Button для FireFox и IE происходит? - PullRequest
1 голос
/ 14 сентября 2011

Есть ли ошибка с навигационными кнопками (будь то в toppager или обычном пейджере), когда пользовательские кнопки добавляются в подсеть (используя 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

ЛюбойПомощь в исправлении этого будет принята с благодарностью.

Спасибо!:)

1 Ответ

1 голос
/ 15 сентября 2011

Я все еще думаю, что это ошибка, и был бы признателен за помощь в том, почему это происходит только в подсетях и только в FireFox и IE, но не в Chrome ...?

Однако я думал, что выложуХак, который не является «правильным способом», чтобы исправить это, но это работает косметически.

Внутри subGridRowExpanded свойства colModel родительской сетки, я поместил следующий кодв свойстве события gridComplete , чтобы оно устанавливало ширину навигационных кнопок подсетки после того, как сетка готова и готова к использованию.Это, по меньшей мере, неумелый хак, но он работает.

Очевидно, что это жесткое кодирование ширины, что неприятно - и не будет работать, если текст кнопки был динамическим из базы данных или чего-то еще, но для меняэто нормально.

Поэтому я проверил то, что Chrome назвал «правильными» значениями ширины, а затем добавил этот код (очевидно, вместо моих вместо идентификаторов кнопок navButtonAdd):

 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");
    }

hopeэто полезно - но, пожалуйста, сообщите, если у вас есть какие-либо комментарии или предложения, почему это так.@Oleg?

спасибо:)

...