2016-04-13 4 views
1

Я хочу добавить некоторые данные в строку нижнего колонтитула, которые не могут быть отформатированы правильно заданным форматированием этого столбца. например:Использование пользовательского форматирования для строки нижнего колонтитула

ColumnModel

{ 
 
    'name': 'GDP', 
 
    'label': 'GDP', 
 
    'formatter': 'currency', 
 
    'formatOptions': { 
 
    'decimalPlaces': 2, 
 
    'defaultValue': '', 
 
    "thousandsSeparator": ',', 
 
    'prefix': '$' 
 
    }, 
 

 
}

, но данные для колонтитула, как {"GDP":"Total- 1233"} и пустое значение отображается для этого колонтитула клетки. Я предполагаю, что он ожидает числовые данные. Есть ли способ назначить пользовательский форматтер для нижнего колонтитула столбца? Если есть, может ли этот пользовательский форматир вызывать предварительно определенный currency форматтер для номерной части в "Total- 1233"?

ответ

1

В этом случае вам нужно список загрузки с опциями footerrow и userDataOnFooter, как показано ниже:

footerrow : true,  
userDataOnFooter : false, 

Помяни вариант userDataOnFooter как «ложь» выше, так что вы должны загружать пользовательские данные вручную в привышные функции ' loadComlpete ',' gridComplete 'или любой другой, который зависит от вашей логики кода. Вы можете закодировать, как показано ниже, чтобы вручную загружать пользовательские данные в строке колонтитула, здесь я использую «loadComplete», например:

loadComplete:function(){ 
    var uData = jQuery("#tableId").jqGrid('getGridParam', 'userData'); 

    // Notice that be sure pass false to the last parameter of function, 
    // or jqGrid will use formatter defined in colModel option 
    // which in your case is 'currency' for GDP column. 
    jQuery("#tableId").jqGrid("footerData", "set", uData, false); 
} 

Кроме того, метод, чтобы получить UserData находится между старым ти различных версии и новой versioin из jqGrid. Я получил скриншот для вас ниже:

enter image description here

Надежда, которая будет полезна для вас. :)

Смежные вопросы