2010-08-16 2 views
2

Мне нужна помощь в отображении данных в нижнем колонтитуле jqGrid. Это моя конфигурация на сервере. Обратите внимание на строку userdata = (Часы).Показать данные в jqGrid Строка нижнего колонтитула в приложении MVC

// Format the data for the jqGrid 
     var jsonData = new 
     { 
      total = totalPages, 
      page = page, 
      records = totalRecords,         
      rows = (
        from a in activities 
        select new 
        { 
         id = a.ActivityId, 
         cell = new string[] { 
         a.ActivityId.ToString(),       
         DateTime.Parse(a.Date.ToString()).ToShortDateString(),       
         a.Person.Name.ToString(), 
         a.ActivityName.ToString(), 
         a.Hours.ToString()       
        } 
        }).ToArray(), 
      userdata = (Hours) 
     }; 

     // Return the result in json 
     return Json(jsonData, JsonRequestBehavior.AllowGet); 

Размер пользовательской части, который мне нужно отобразить в нижнем колонтитуле, проходит через JSON. Я использую Fiddler для его просмотра. Вот скриншот зрения скрипача:

alt text http://shirey.technologyblends.com/Content/images/json.jpg

Мне нужно, чтобы отобразить это значение «12» в сноске. Это HTML, я использую для чтения JSON:

 jQuery("#list").jqGrid({ 
     url: gridDataUrl + '?startDate=' + startDate.toJSONString() + '&endDate=' + endDate.toJSONString(), 
     datatype: "json", 
     mtype: 'GET', 
     colNames: ['Activity ID', 'Date', 'Employee Name', 'Activity', 'Hours'], 
     colModel: [ 
      { name: 'ActivityId', index: 'ActivityId', width: 40, align: 'left' }, 
      { name: 'Date', index: 'Date', width: 50, align: 'left' }, 
      { name: 'Person.Name', index: 'Person.Name', width: 100, align: 'left', resizable: true }, 
      { name: 'ActivityName', index: 'ActivityName', width: 100, align: 'left', resizable: true }, 
      { name: 'Hours', index: 'Hours', width: 40, align: 'left' } 
      ], 
     loadtext: 'Loading Activities...', 
     multiselect: true, 
     rowNum: 20, 
     rowList: [10, 20, 30], 
     imgpath: gridimgpath, 
     height: 'auto', 
     width: '700', 
     pager: jQuery('#pager'), 
     sortname: 'ActivityId', 
     viewrecords: true, 
     sortorder: "desc", 
     caption: "Activities", 
     footerrow: true, userDataOnFooter: true, altRows: true  
    }).navGrid('#pager', { search: true, edit: false, add: false, del: false, searchtext: "Search Activities" }); 

ответ

3

Попробуйте использовать следующие

var jsonData = new { 
    total = totalPages, 
    page = page, 
    records = totalRecords, 
    rows = (
     from a in activities 
     select new { 
      id = a.ActivityId, 
      cell = new string[] { 
       a.ActivityId.ToString(), 
       DateTime.Parse(a.Date.ToString()).ToShortDateString(), 
       a.Person.Name.ToString(), 
       a.ActivityName.ToString(), 
       a.Hours.ToString() 
      } 
     }).ToArray(), 
     userdata = new { 
      Hours = 12 
     } 
    }; 

то UserData часть данных JSON будет

"userdata":{"Hours":12} 

, который следует к отображению жирного значения 12 в столбце Hours нижнего колонтитула таблицы jqGrid.

+0

Отлично! Огромное спасибо... – obautista

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