2015-02-04 4 views
1

В этом примере используется jqGrid 4,6:jqGrid и jqPivot 4,7: Неверные имена для поворотных колонок

http://jsfiddle.net/aUDHx/1218/

Как можно видеть, независимо от количества агрегатов, имена заголовков отображаются корректно («AA» , «AB», и т.д.)

Однако при переходе на версию 4.7, повернутые столбцы не названы правильно, когда более чем один агрегат используется:

http://jsfiddle.net/aUDHx/1219/

Если используется только один агрегат, заголовки отображаются правильно.

Есть ли у 4.7 другой метод указания имен заголовков, или это ошибка? Если последнее, существует ли соответствующее обходное решение?

Это код yDimension:

yDimension: [{ 
     dataName: 'product', 
     converter: function (val) {return val.replace(/\s/g, ' ');} 
    }], 

Функция преобразователя используется для правильного форматирования имени заголовка. Это не требуется в 4.7, если вы используете только один агрегат, но что-то большее, чем это приводит к его разрыву.

"Gurrido" - новое название jqGrid.

ответ

2

Проблема в пространствах, которые вы используете в именах. jqPivot не поддерживают в настоящее время пробелы в именах. Вы можете исправить эту проблему на , заменив пробелами до _ (например, подчеркивание). Я описал обходное решение here.

Кстати Gurrido jqGrid не является единственным преемником бесплатного открытого jqGrid с открытым кодом с лицензией MIT. После запуска Gurrido jqGrid развиваются некоторые другие вилки jqGrid последнего бесплатного jqGrid. Я публикую свои результаты here. Я планирую опубликовать новую версию, вероятно, в текущем месяце. Еще одна вилка вы найдете here. Один из них применяет в вилке много изменений, которые я делаю в своем репозитории, но также делаю некоторые свои изменения.

ОБНОВЛЕНО: Проблема с метками, которые вы описали, является ошибкой в ​​jqGrid 4.7. Кстати, вам не нужно использовать converter в случае использования пробелов в значениях агрегации.

Я отправил исправление ошибки here в my jqGrid repository. Вы можете увидеть результаты на демо http://jsfiddle.net/OlegKi/b47ocLd7/

enter image description here

Демонстрационная использует следующий код JavaScript

var mydata = [ 
    { id: "1", product: "A A", sold: "8", sold2: "8", sold3: "8", emp: "Michelle" }, 
    { id: "2", product: "A A", sold: "3", sold2: "8", sold3: "8", emp: "Tania" }, 
    { id: "6", product: "A B", sold: "1", sold2: "8", sold3: "8", emp: "Mark" }, 
    { id: "3", product: "A B", sold: "5", sold2: "8", sold3: "8", emp: "Tommy" }, 
    { id: "4", product: "B B", sold: "2", sold2: "8", sold3: "8", emp: "Dave" }, 
    { id: "5", product: "B B", sold: "5", sold2: "8", sold3: "8", emp: "Carol" } 
]; 

$("#grid").jqGrid("jqPivot", mydata, { 
     xDimension: [ 
      { isGroupField: false, width: 40, dataName: "id", label: "ID" }, 
      { isGroupField: false, width: 80, dataName: "emp", label: "Employee" } 
     ], 
     yDimension: [ 
      { dataName: "product" } 
     ], 
     aggregates: [ 
      { aggregator: "sum", width: 60, member: "sold", label: "Sold" }, 
      { aggregator: "sum", width: 60, member: "sold2", label: "Sold 2" } 
     ], 
     colTotals: true 
    }, 
    { 
     height: "auto", 
     pager: "#pager", 
     iconSet: "fontAwesome", 
     resizeStop: function() { 
      $(this).jqGrid("setGridWidth", this.grid.newWidth, false); 
     }, 
     caption: "Daily Sales" 
    } 
); 
+0

Даже если я заменяю пробелы в названиях заголовков, он все еще добавляет _sumX к имени , – ilitirit

+0

@ilitirit: Извините, но вы включили в демо значения с пробелами, которые не имеют никакого отношения к вашей проблеме. Кроме того, вы используете ** другой код ** в двух демонстрационных версиях (4.7 и 4.6), поэтому результаты отличаются не только в заголовке. Это было причиной моего ответа. Теперь я понимаю, что единственная проблема, которая у вас есть, в заголовках столбцов ** ** (действительно ли это так?). Я отлажу код jqGrid от 4.7 позже и добавлю свой ответ к результатам моих исследований. Я могу это сделать только позже. – Oleg

+0

Олег - хорошо знать о вашей вилке. Возможно, я захочу использовать его вместо gurrido, что лучший способ получить от вас помощь? У нас также могут быть некоторые вклады, так как мы внесли некоторые моды в (оригинальный) источник (в основном мелкие вещи). – Bean

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

  • Нет связанных вопросов^_^