jqGrid - удаление записи (панель навигации)

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

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

Re: jqGrid - удаление записи (панель навигации)

Сообщение TRAHOMOTO » 29 июн 2010, 20:53

А в таблице просто использовать событие ondblClickRow:, примерно так:
Код: выделить все
$('#table').jqGrid({
     ...
     ondblClickRow: function(Row_id){
                                alert(Row_id); //Выведет ID записи в строке
                            },
    ...
});

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

Re: jqGrid - удаление записи (панель навигации)

Сообщение LorDEreTik » 29 июн 2010, 21:17

TRAHOMOTO писал(а):А в таблице просто использовать событие ondblClickRow:, примерно так:
Код: выделить все
$('#table').jqGrid({
     ...
     ondblClickRow: function(Row_id){
                                alert(Row_id); //Выведет ID записи в строке
                            },
    ...
});

При этом обработчику можно передать еще ряд параметров, подробнее в Events



Как работать с grid я понимаю а вот что-то немогу разобраться с диалоговым окном, сейчас вот читаю английсккие мануалы, но что-то тяжеловато пока идет)
LorDEreTik
 
Сообщений: 14
Зарегистрирован: 29 июн 2010, 18:19

Re: jqGrid - удаление записи (панель навигации)

Сообщение konovanya » 30 июл 2010, 12:00

Здравствуйте. У меня возникла проблема. Когда нажимаешь на кнопку удалить, которая находится на стандартной панели, в серверный скрипт отправляется название операции и id, но id почему-то не индентификатор записи, а порядковый номер ее в таблице. Получается, что я удаляю из базы не те данные, какие хочу. Помогите пожалуйста.
konovanya
 
Сообщений: 16
Зарегистрирован: 10 июн 2010, 11:42

Re: jqGrid - удаление записи (панель навигации)

Сообщение EGORR » 30 июл 2010, 12:10

forum_config['telepath_mode'] = 'off';
Покажите код.
Life is very short, and there's no time
For fussing and fighting, my friend...
Аватар пользователя
EGORR
Модератор
 
Сообщений: 720
Зарегистрирован: 22 янв 2010, 01:44
Откуда: Ярославль

Re: jqGrid - удаление записи (панель навигации)

Сообщение konovanya » 30 июл 2010, 12:25

Код: выделить все
<script type="text/javascript">
$(function(){           
var pager = $('#tablePager');
$('#table').jqGrid({
<?php $ID=$_GET['ID'];
echo "url:'db2.php?id=".$ID."',";?>
   datatype: 'json',
   mtype: 'POST',
   colNames :[
<?php
error_reporting(0);
include "dbopen.php";
$q=mysql_query("select ID_Типоразмера, Наименование, Имя_таблицы from Tiporazmeri where ID_Дерева_терминов=$ID");
while ($row = mysql_fetch_assoc($q)) {
$tiporazm=$row['ID_Типоразмера'];
$name=$row['Наименование'];
$name_table=$row['Имя_таблицы'];
   }
$query=mysql_query("select * from $name_table");
$count_rows = mysql_num_rows($query);
$cols=mysql_list_fields("basa_elementov", "$name_table");
$count_cols=mysql_num_fields($cols);
$tab_width=0;
for ($i = 0; $i < $count_cols; $i++) {
   $meta = mysql_fetch_field($query, $i);
   $length=$meta->max_length;
   $col_name=$meta->name;
   $length2=strlen($col_name);
   if($length>$length2) $col_len=$length*6+16;
   else $col_len=$length2*6+16;
   $cols_arr[$i]=$col_name;
   echo "'".$col_name."'";
   if($i<$count_cols-1) echo ",";
   $width_arr[$i]= $col_len;
   $tab_width+=$col_len;
}
mysql_free_result($query);
?>
   ],
   colModel :[
   <?php
   for ($i = 0; $i < $count_cols; $i++) {
   if ($i==0){
    echo "{name:'id', index:'id', width:".$width_arr[$i].", align: 'center'}";
   }else
   echo "{name:'".$cols_arr[$i]."', index:'".$cols_arr[$i]."', width:".$width_arr[$i].", align: 'center',editable:true,  edittype:\"text\"}";
   if($i<$count_cols-1) echo ",\n";
   }
   ?>
    ],
  pager: $('#tablepager'),
  rowNum:<?php echo $count_rows;?>,
  <?php echo " rowList:[".ceil($count_rows/3).",".ceil($count_rows/2).",". $count_rows."],"; ?>
  sortname: '<?php echo $cols_arr[0];?>',
  sortorder: 'asc',
  viewrecords: true,
  imgpath: 'css/redmond/images',
  caption: '<?php echo "$name";?>',
  rownumbers: true,
  rownumWidth: 30,
  height: <?php if($count_rows<15) echo $count_rows*23; else  echo 345 ?>,
  <?php if($tab_width<680) echo "width: 680,\n";?>
  loadtext: "Загрузка...",
   <?php echo "editurl: 'saverow.php?table=".$name_table."'";?>

});
jQuery("#table").navGrid('#tablepager',{edit:true,add:true,del:true,
   refresh:true,searchtext:"Find",edittext:"Edit",addtext:"Add",deltext:"Del"},
   {saveData: "Data has been changed! Save changes?", bYes : "Yes",bNo : "No",closeAfterEdit:true,reloadAfterSubmit:true},
   {closeOnEscape:true},
   {closeOnEscape:true,reloadAfterSubmit:true});
});
</script>
konovanya
 
Сообщений: 16
Зарегистрирован: 10 июн 2010, 11:42

Re: jqGrid - удаление записи (панель навигации)

Сообщение EGORR » 30 июл 2010, 12:34

Ой, нехорошая практика такую кашу из JS и PHP устраивать!.. ИМХО...
Life is very short, and there's no time
For fussing and fighting, my friend...
Аватар пользователя
EGORR
Модератор
 
Сообщений: 720
Зарегистрирован: 22 янв 2010, 01:44
Откуда: Ярославль

Re: jqGrid - удаление записи (панель навигации)

Сообщение konovanya » 30 июл 2010, 12:55

Что поделать, лучшего я придумать не могла. Но, где ошибка, так и не могу понять
konovanya
 
Сообщений: 16
Зарегистрирован: 10 июн 2010, 11:42

Re: jqGrid - удаление записи (панель навигации)

Сообщение TRAHOMOTO » 30 июл 2010, 20:29

Йад! :)
Попробуйте в строке
Код: выделить все
...
echo "{name:'id', index:'id', width:".$width_arr[$i].", align: 'center'}";
...

добавить свойство key: true
Код: выделить все
...
echo "{name:'id', index:'id', width:".$width_arr[$i].", align: 'center', key: true}";
...
Предполагается наличие объекта
Аватар пользователя
TRAHOMOTO
Модератор
 
Сообщений: 513
Зарегистрирован: 19 янв 2010, 17:18
Откуда: Украина, Луганск

Re: jqGrid - удаление записи (панель навигации)

Сообщение EGORR » 30 июл 2010, 22:25

konovanya, может не мое дело, право слово, нельзя никак в таком виде код держать.
Подобная небрежность аукнется потом непонятными ошибками, косяками неприятными.
Вернувшись через полгода-год к этому коду у вас уйдет куча времени, чтобы разобраться что там откуда и куда...
Напишите класс, который будет запрашивать БД и выдавать только необходимый результат.
И сделается чистый, ясный код...
А то ведь каша... GET не иссетится, не интвалится...
Life is very short, and there's no time
For fussing and fighting, my friend...
Аватар пользователя
EGORR
Модератор
 
Сообщений: 720
Зарегистрирован: 22 янв 2010, 01:44
Откуда: Ярославль

Re: jqGrid - удаление записи (панель навигации)

Сообщение konovanya » 31 июл 2010, 12:55

TRAHOMOTO, спасибо большое теперь все работает, как должно. А насчет кода что могу сказать - к сожалению, сейчас мой уровень программирования таков :( и сделать код более удобочитаемым я пока не знаю как :oops:
konovanya
 
Сообщений: 16
Зарегистрирован: 10 июн 2010, 11:42

Пред.След.

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

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

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

cron