JQGrid: загрузка данных в нижний колонтитул

Есть ли примеры загрузки данных в нижний колонтитул? Я не могу их найти или меня блокируют на работе.

Заранее спасибо...

2 ответа

Посмотрите демоверсию http://trirand.com/blog/jqgrid/jqgrid.html

и выберите в левом дереве "Новое в версии 3.5", а затем "Сводная строка нижнего колонтитула".

В примере один набор footerrow : true, userDataOnFooter : true вариант jqGrid. Затем сервер добавить userdata заблокировать данные, отправленные обратно в jqGrid. Вы можете прочитать о userdata в http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data. Если userdata Свойства block hat соответствуют именам столбцов jqGrid, данные будут отображаться в строке нижнего колонтитула.

Если вам нужна дополнительная информация, вы должны написать, какой тип данных вы используете в jqGrid (JSON, XML, xmlstring, jsonstring, локальный и т. Д.) И какой тип сервера вы используете (PHP, ASP.NET MVC, WCF и т. Д. И т. Д.).

ОБНОВЛЕНО: если вы используете стандартное отображение данных json (без опции jsonReader в jqGrid), то сервер выглядит

{ 
  total: "xxx", 
  page: "yyy", 
  records: "zzz",
  rows : [
    {id:"1", cell:["cell11", "cell12", "cell13"]},
    {id:"2", cell:["cell21", "cell22", "cell23"]},
      ...
  ]
}

Таким образом, данные не имеют названия столбцов из colModel. Если у вас есть, например, один столбец {name:'price', ...} внутри colModel и вы хотите показать общую цену в последней строке jqGid, вы должны определить footerrow: true, userDataOnFooter: true внутри параметров jqGrid, и ваш сервер должен производить такие данные, как

{ 
  total: "xxx", 
  page: "yyy", 
  records: "zzz",
  rows : [
    {id:"1", cell:["cell11", "cell12", "cell13"]},
    {id:"2", cell:["cell21", "cell22", "cell23"]},
      ...
  ],
  userdata: {price:1240.00} 
}

Если вы используете другой jsonReader, все статистические данные не изменятся. Единственное, что вы можете определить, это изменить имя "userdata" на другое имя, но значение должно быть объектом с именем поля, как вы определили в colModel. Только значения этих полей будут показаны жирным шрифтом в последней строке jqGrid.

Ответ выше очень помогает. В любом случае, вот как я это сделал в MVC.Net:

Сначала это атрибуты по определению сетки:

footerrow: true, userDataOnFooter: true

В результате действия на HttpPost:

        [HttpPost]
        public ActionResult GetNewMembersByDate(string date1, string date2)
        {
            List<uspGetNewByDateResult> list =_reportsRepository.GetNewByDate(DateTime.Parse(date1), DateTime.Parse(date2));

            var amount = from p in list
                         select p.Quantity;


            var jsonData = new
            {
                total = 1,
                page = 1,
                records = list.Count(),
                userdata = new
                    {
                        Name = "Total:",
                        Quantity= amount.Sum().ToString()
                    },
                rows = (
                        from row in list
                        select new
                        {
                            i = row.RowNumber,
                            cell = new[] {
                                row.RowNumber.ToString(),
                                row.Name,
                                row.Quantity.ToString()
                            }
                        }).ToArray()

            };
            return Json(jsonData);
        }
Другие вопросы по тегам