Точечная нотация JSON в jQgrid? - PullRequest
1 голос
/ 28 сентября 2010

Я использую метод addRowData для заполнения своей сетки. Но у моих текущих данных JSON есть другой объект внутри каждого объекта в данных JSON. Чтобы это было видно в сетке, я следовал указаниям в документации jQgrid Но этот столбец остается пустым.

Определение моей сетки:

    $("#ExpenseTable").jqGrid({
    datatype : "local",
    mtype : 'GET',
    colNames : [ 'Entry ID','User Name', 'Category Name','Date','Amount','Status'],
    colModel : [ 
                 {name:'expnsId',label:'ID', width:150 ,editable: false}, 
                 {name:'userName',label:'NAME', width:150 ,editable: false},
                 {name:'category.catName',label:'CATEGORY', width:150 ,editable: false},
                 {name:'date',label:'DATE', width:150 ,editable: false},
                 {name:'amount',label:'AMOUNT', width:150 ,editable: false},
                 {name:'status',label:'STATUS', width:150 ,editable: false},
                 ],
    pager : '#ExpPager',
    rowNum : 10,
    rowList : [ 10, 20, 30 ],
    sortname : 'invid',
    sortorder : 'desc',
    viewrecords : true,
    autowidth : false,
    caption : 'Expenses Details',
    onSelectRow : function(expnsId) { dispExpensData(expnsId); }
    }); 

Код, используемый для заполнения сетки:

    ExpenseDetailsManagement.getexpenseList(function(expRecords){
    //for(count = 0; count<expRecords.length; count++){
    //  expRecords[count].catId = expRecords[count].category.catId;
    //  expRecords[count].catName = expRecords[count].category.catName;
    //}//I am using this for loop to convert the category object
$("#ExpenseTable").clearGridData(true);
$("#ExpenseTable").jqGrid('addRowData', "expnsId", expRecords);
});

Данные, возвращаемые с сервера, выглядят так:

alt text

Любая идея или предложения о том, где я иду не так !!!

1 Ответ

1 голос
/ 28 сентября 2010

Если значения из столбца 'expnsId' являются уникальными, я рекомендую использовать параметр key:true в качестве опции для столбца 'expnsId'.Тогда значение столбца будет использоваться в качестве идентификатора строки.

Чтобы помочь вам с точечными именами столбцов, вы должны публиковать данные JSON, а не скриншот с текстом «Объект» на местесамая важная информация.Возможно, ваша основная проблема может быть легко решена с помощью localReader вместо точечного имени.

Еще одно небольшое замечание.Поскольку вы используете опцию label для всех столбцов, вы можете удалить массив colNames, который не будет использоваться.Параметр editable: false является значением по умолчанию, поэтому вы также можете удалить его.Параметр mtype также можно удалить, так как он не будет использоваться для локальных данных.

ОБНОВЛЕНО : Извините, значение первого параметра addRowData должно соответствовать именистолбец с данными, как вы, как и.Поэтому я удалил первый абзац из первой версии своего ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...