jqgrid, помощь в добавлении, редактировании и удалении строк - PullRequest
0 голосов
/ 25 ноября 2010

Здравствуйте, я пытаюсь в течение двух недель, что мой jqgrid работает без успеха. я не знаю много об этом lenguaje. я делаю так, чтобы сетка приносила мне данные из базы данных, но каждый раз, когда я редактирую или добавляю новую строку, изменение не применяется к базе данных, только изменение на экране. затем я обновляю страницу, когда исчезает чейдж. помощь !!!!


это datos.js

jQuery("#grid_id").jqGrid({
    url:'conec.php',
datatype: "json",
colNames:['id','name', 'record_id', 'created_at','updated_at','deleted_at'],
colModel:[
    {name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true,size:10}},
    {name:'name',index:'name', width:80,editable:true,editoptions:{size:10}},
    {name:'record_id',index:'record_id', width:90,editable:true,editoptions:{size:25}},
    {name:'created_at',index:'created_at', width:60, align:"right",editable:true,editoptions:{size:10}},
    {name:'updated_at',index:'updated_at', width:60, align:"right",editable:true,editoptions:{size:10}},
    {name:'deleted_at',index:'deleted_at', width:60,align:"right",editable:true,editoptions:{size:10}},
    ],
rowNum:10,
rowList:[10,20,30],
pager: '#gridpager',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"Navigator Example",
editurl:"editurl.php",
height:210});
jQuery("#grid_id").jqGrid('navGrid','#gridpager',
{}, //options
{height:280,reloadAfterSubmit:false}, // edit options
{height:280,reloadAfterSubmit:false}, // add options
{reloadAfterSubmit:false}, // del options
{} // search options
);

это index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My First Grid</title>

<link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-      1.8.6.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />

<style type="text">
    html, body {
    margin: 0;          /* Remove body margin/padding */
    padding: 0;
    overflow: hidden;   /* Remove scroll bars on browser window */
    font-size: 75%;
    }
</style>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
 <table id="grid_id"></table>
 <div id="gridpager"></div>
</body>
 <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
 <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
 <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
 <script src="datos.js" type="text/javascript"></script>
</html>

это conec.php (связь)

<?php
 include_once 'lib.php';

 $conexion= mysql_connect('localhost', 'root', '');
 mysql_select_db("taskmaker", $conexion);
 $result = mysql_query("SELECT id, name, record_id, created_at, updated_at, deleted_at       FROM Team", $conexion);

$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
$responce->rows[$i]['id']=$row[id];
$responce->rows[$i]   ['cell']=array($row[id],$row[name],$row[record_id],$row[created_at],$row[updated_at],$row[d  eleted_at]);
$i++;
}
echo json_encode($responce);
?>

это lib.php

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpassword = "";
$database = "taskmaker";
?>

вот и все.

1 Ответ

1 голос
/ 25 ноября 2010

jqGrid поддерживает различные способы редактирования содержимого сеток: редактирование ячеек , встроенное редактирование , редактирование форм . Ваш текущий код использует редактирование формы . Вы можете увидеть редактирование вживую в демо . Выберите в левой части дерева пункт «Управление данными в реальном времени», а затем «Навигатор». См. Также «Редактирование строк» ​​/ «Типы ввода», чтобы понять, как встроенное редактирование может выглядеть.

После того, как пользователь закончит редактирование строки и нажмет кнопку «Отправить», информация о добавленной / измененной / удаленной строке будет размещена на URL-адресе, заданном параметром editurl в jqGrid (editurl.php в вашем случае) , Вместе с данными строки в качестве дополнительного параметра будет опубликован oper, который будет "add", "edit" или "del" строка и id, который может быть "_empty" в случае добавления новой строки , В случае добавления новой строки ваш код сервера должен вернуть id новой добавленной строки. Очень полезно использовать Fiddler или Firebug , чтобы увидеть, что будет отправлено и возвращено с сервера во время редактирования строки.

Таким образом, реализация editurl.php - это то, что вам не хватает в коде вашего сервера.

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