这是我的网格js的一个片段:
$grid.jqGrid({
url:'xtras/Products.php',
editurl:'xtras/Products.php',
datatype: "json",
mtype:'GET',
colModel:[...
{name:'ID',index:'catalogue.ID', hidden:true, width:10, sortable:false, editable:true, key:true},
....]
和PHP方面:
elseif ($_REQUEST["oper"] == "del") {
$deleteSQL = sprintf("delete from snapper.catalogue where `catalogue`.`ID` = %s",
GetSQLValueString($_REQUEST['ID'], "int")
);
$Result = mysqli_query($GLOBALS["___mysqli_ston"],$deleteSQL) or die($error = mysqli_error($GLOBALS["___mysqli_ston"]));
}
其中$_REQUEST['ID']
未传递给$_REQUEST["oper"] == "del"
,但它传递给$_REQUEST["oper"] == "edit"
EDIT转储:
_REQUEST - 2015-11-25 12:59:53:
Array
(
[Catalogue] => test523
[Artist] => STEPHANE GRAPPELLI
[Title] => kkk1651564
[UKDP] => 5.50
[Release_Date] => 25 Nov 15
[Ppoint] => 1
[Label] => 2
[Format] => 33
[Genre] => 27
[UPCEAN] => 636551052375
[AlbumCLineYear] => 0
[AlbumCLineInfo] =>
[AlbumPLineYear] => 0
[AlbumPLineInfo] =>
[Credits] =>
[Artist_Sort] =>
[Active] => 1
[Deleted] => 1
[id] => 1951
[copyID] =>
[oper] => edit
)
DEL转储:
_REQUEST - 2015-11-25 13:00:49:
Array
(
[oper] => del
[id] => 4
)
其中[id]
是网格中的行号,而不是数据库中的ID
。为什么呢?
答案 0 :(得分:2)
如果您希望在编辑/删除过程中发布的数据中的id参数名称为 public class GestoPistola {
public enum ESTADO{
DESCARGADA, CARGADA
}
ESTADO _estado;
public void GestoPistola(){
_estado = ESTADO.DESCARGADA;
}
public void reconocer(Frame f)
{
System.out.println("LET'S START");
if (!f.hands().isEmpty()) {
System.out.println("Hay mano");
Hand hand = f.hands().get(0);
FingerList fingers = hand.fingers();
switch(_estado)
{
…
}
}
}
}
而不是prmNames: { id: "ID" }
,则可以添加jqGrid的ID
选项吗?顺便说一下,您可以使用该选项从id
中删除不需要的隐藏ID
列。
如果您确实需要保留隐藏列colModel
并且需要jqGrid将ID
和id
发送到服务器,那么您应该将ID
属性添加到定义editrules: { edithidden: true }, hidedlg: true
列。请参阅the old answer。