2015-08-05 2 views
0

У меня есть jqGrid, отображающий локальные данные. Столбец RoutingID имеет несколько пробелов в исходных данных, но при визуализации в jqGrid у него есть только одно место перед символом «54».jqGrid убирает несколько пробелов

Есть ли способ отображать данные в гриде, как есть в источнике, поддерживая те же пространства в источнике?

var data =[{"__type":"MyWebNoCompile.Routing","RoutingID":"C161-58   54","Destinations":"11 - My INC.-OUTER"},{"__type":"MyWebNoCompile.Routing","RoutingID":"C161-90B   54","Destinations":"11 - MY INC.-OUTER"}] 
      alert(data); 

      $("#grid").jqGrid({ 
       datastr: data, 
       datatype: "jsonstring", 
       colNames: ['Routing ID', 'Destinations'], 
       colModel: [ 
        { name: 'RoutingID', index: 'RoutingID', width:150 }, 
        { name: 'Destinations', index: 'Destinations', width:400 } 
       ], 
       rowNum: 10, 
       viewrecords: true, 
       gridview: true, 
       height: "auto", 
       loadonce: true 
      }); 

ЛИТЕРАТУРА

  1. Custom Formatter
  2. Predefined Formatter

enter image description here

ОБНОВЛЕНИЕ

решаемые путем добавления пользовательского форматирования, как показано ниже

function mySpacePreserveFormatter (cellvalue, options, rowObject) 
    { 
      return '<pre>' + cellvalue + '</pre>'; 
    } 

и использовать его в качестве

name: 'RoutingID', index: 'RoutingID', formatter:mySpacePreserveFormatter 

О pre теге из http://www.w3schools.com/tags/tag_pre.asp

Тег определяет форматированный текст. Текст в элементе отображается шрифтом фиксированной ширины (обычно Courier), и он сохраняет как пробелы, так и разрывы строк.

+1

есть существуют '.ui-jqgrid tr.jqgrow тд {пробельные: предварительно; } 'в' ui.jqgrid.css' (см. здесь [здесь] (https://github.com/free-jqgrid/jqGrid/blob/v4.6.0/css/ui.jqgrid.css#L38)) , Непонятно, почему у вас есть описанная проблема. Вероятно, у вас есть некоторые конфликты с другими файлами CSS, включенными на страницу. – Oleg

ответ

1

HTML по спецификации выделяет дополнительные пробелы - это не проблема jQuery.

Чтобы сохранить пробелы, вы можете обернуть содержимое в <pre> теги

+0

или альтернативно установить 'white-space: pre;' в css –

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