jqGrid - отчет в таблицу

Обсуждаются вопросы использования плагинов для jQuery, созданных сторонними разработчиками.

Модераторы: TRAHOMOTO, tuareg

jqGrid - отчет в таблицу

Сообщение mosian » 07 апр 2010, 18:12

Подскажите как правильно реализуется следующая задача
Допустим есть 3 ссылки при нажатии должен формироваться
отчёт в таблицу (разные отчёты в завис. От наж. ссылки).
Пользуюсь jqGrid.

Пробовал на onClic ссылки прицепить функцию jqGrid работает
только первым кликом дальше наверное нужно как то отключить плагин либо перегрузить
но как?
mosian
 
Сообщений: 6
Зарегистрирован: 07 апр 2010, 17:55

Re: jqGrid

Сообщение TRAHOMOTO » 07 апр 2010, 18:44

Пожалуйста сформулируйте задачу четче, т.е. нажимаю на то, хочу получить то,то и то... И прожалуйста листинги или тестовую страницу
Предполагается наличие объекта
Аватар пользователя
TRAHOMOTO
Модератор
 
Сообщений: 513
Зарегистрирован: 19 янв 2010, 17:18
Откуда: Украина, Луганск

Re: jqGrid - отчет в таблицу

Сообщение mosian » 07 апр 2010, 23:31

Вот набросал пример в нём наглядно.
Есть 3 надписи
Таблица1 onclick="load_Grid('Отчёт1')"
Таблица2 onclick="load_Grid('Отчёт2')"
Таблица3 onclick="load_Grid('Отчёт3')"
По клику на любую из неё вызывается функция load_Grid с соответствующими параметрами.
Так вот нажимаю Таблица1 всё ок подгружается табличка а последующее нажатие на
Таблица2, Таблица3 не перегружает таблицу.???
И ещё вопрос в функции LOADGRID есть строки
url:'getdata.php',
datatype: 'json',
mtype: 'POST',
как в getdata.php передать ещё свои произвольные параметры например некий идентификатор запроса чтобы не писать под каждый запрос свою страницу.

Код: выделить все
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" media="screen" href="themes/basic/grid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="themes/jqModal.css" />
<script type="text/javascript" src="jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="jquery.jqGrid.js"></script>

<script type='text/javascript'>
function load_Grid(param)
  {
    jQuery(document).ready(function(){
        jQuery('#list').jqGrid({
            url:'getdata.php',
            datatype: 'json',
            mtype: 'POST',
            colNames:['#', 'Фамилия', 'Имя', 'Отчество'],
            colModel :[
                {name:'id', index:'id', width:30}
                ,{name:'surname', index:'surname', width:80, align:'right'}
                ,{name:'fname', index:'fname', width:90}
                ,{name:'lname', index:'lname', width:80, align:'right'}
                ],
            pager: jQuery('#pager'),
            rowNum:5,
            rowList:[5,10,30],
            sortname: 'id',
            sortorder: 'asc',
                        test: '5',
            viewrecords: true,
            imgpath: 'themes/basic/images',
            caption: param
        });
    });
   }
    </script>
</head>
<body>

<span onclick="load_Grid('Отчёт1')">Таблица1</span><br>
<span onclick="load_Grid('Отчёт2')">Таблица2</span><br>
<span onclick="load_Grid('Отчёт3')">Таблица3</span><br>

  <table id='list' class='scroll'></table>
  <div id='pager' class='scroll' style='text-align:center;'></div>
</body>
</html>
mosian
 
Сообщений: 6
Зарегистрирован: 07 апр 2010, 17:55

Re: jqGrid - отчет в таблицу

Сообщение TRAHOMOTO » 08 апр 2010, 09:27

Вот это постановка задачи! :)

Если столбцы и кол-во столбцов во всех трех отчетах одинаковые, то достаточно будет просто перезапросить данные с сервера, передав последнему параметр(ы) как здесь.

Если же столбцы в отчетах отличаются, то тут я вижу два пути:
1) Прийдется разрушать и вновь инициализировать таблицу.

2) Создавать простую таблицу, с последующим конвертированием в jqGrid, можно даже получив от сервера параметры для конвертирования
Предполагается наличие объекта
Аватар пользователя
TRAHOMOTO
Модератор
 
Сообщений: 513
Зарегистрирован: 19 янв 2010, 17:18
Откуда: Украина, Луганск

Re: jqGrid - отчет в таблицу

Сообщение mosian » 08 апр 2010, 17:17

Спасибо огромное за ссылку целый день сидел вникал.
Очень полезная статья и с примерами для таких чайников как я.
С помощью неё настроил таблицу под свои нужды.
Единственное там не сказано как разрушить и вновь инициализировать таблицу???
mosian
 
Сообщений: 6
Зарегистрирован: 07 апр 2010, 17:55

Re: jqGrid - отчет в таблицу

Сообщение TRAHOMOTO » 09 апр 2010, 09:29

Единственное там не сказано как разрушить
К сожалению разработчики не придусмотрели специального метода для разрушения таблицы. В практике я всегда помещаю таблицу в контейнер
Код: выделить все
<div id="table_container">
     <table id="table"></table>
     <div id="tablePager"></div>
</div>

и потом при необходимости делаю
Код: выделить все
$('#table_container').empty();

...и вновь инициализировать таблицу???

Нужно вставить в контейнер разметку
Код: выделить все
$('#table_container').html('<table id="table"></table><div id="tablePager"></div>');
и собственно выбрать таблицу и обратится к методу jqGrid
Код: выделить все
$('#table').jqGrid({...});
Предполагается наличие объекта
Аватар пользователя
TRAHOMOTO
Модератор
 
Сообщений: 513
Зарегистрирован: 19 янв 2010, 17:18
Откуда: Украина, Луганск


Вернуться в Плагины jQuery

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron