2011-05-26 76 views
4

我想在jqgrid中使用编辑删除功能。jqgrid没有通过记录ID编辑删除

我似乎无法得到它传递记录ID到我的处理页面 编辑发送所有值,但删除只发送jqgridrow id(id = jqg16)。 显然我需要记录ID,所以我知道要删除哪条记录! 记录ID列是id_mdt; 我列,它保存记录ID设置如下:

myGrid = jQuery("#rowed2").jqGrid({ 
    url:'data/stokistdata_s_json.php?q=3', 
    datatype: "json", 
    mtype: "POST", 
    rowNum:10, 
    rowList:[50,100,150,200,300,400,500,600], 
    pager: '#prowed2', 
    sortname: 'name_mdt', 
    viewrecords: true, 
    gridview:true, 
    sortorder: "asc", 
    rowNum:50, 
    scroll: true, 
    editurl: "data/server.php", 
    caption:"Stockist's and Orchid days", 
    colNames:[ 
     'Actions', 
     'id', //record id column 
     'Type', 
     'Name', 
     'Geo Address', 
     'Display Address', 
     'Telephone', 
     'Email', 
     'website', 
     'lat', 
     'lng', 
     'flag', 
     'description', 
     'active' 
    ], 
    colModel:[{ 
     name:'Actions', 
     index:'Actions', 
     width:100, 
     sortable:false, 
     search:false 
    }, {//record id column 
     name:'id_mdt', 
     index:'id_mdt', 
     width:15, 
     align:"left", 
     sortable:true, 
     search:false, 
     hidden: true, 
     editable: true, 
     editrules: { edithidden: false }, 
     hidedlg: true   
    }, { 
     name:'id_etp', 
     index:'id_etp', 
     width:90, 
     align:"left", 
     sortable:true, 
     editable:true, 
     edittype:"select", 
     formatter:'select', 
     editoptions:{value:":All;1:Stockist;2:Orchid Day"}, 
     search:true, 
     stype:'select', 
     sopt: ['eq'], 
     searchoptions:{value:":All;1:Stockist;2:Orchid Day"} 
    }, { 
     name:'Name_mdt', 
     index:'Name_mdt', 
     align:"left", 
     width:150, 
     editable:true, 
     search:true, 
     stype:'text', 
     sopt:['cn'] 
    }, { 
     name:'geoaddr_mdt', 
     index:'geoaddr_mdt', 
     width:150, 
     align:"left", 
     editable:true, 
     search:false, 
     edittype:"textarea", 
     editoptions:{rows:"3",cols:"30"} 
    }, { 
     name:'displayaddr_mdt', 
     index:'displayaddr_mdt', 
     width:150, 
     align:"left", 
     editable:true, 
     search:false, 
     edittype:"textarea", 
     editoptions:{rows:"3",cols:"30"} 
    }, { 
     name:'telephone_mdt', 
     index:'telephone_mdt', 
     width:80, 
     align:"left", 
     editable:true, 
     search:false 
    }, { 
     name:'email_mdt', 
     index:'email_mdt', 
     width:80, 
     align:"left", 
     sortable:false, 
     editable:true, 
     search:false 
    }, { 
     name:'website_mdt', 
     index:'website_mdt', 
     width:80, 
     align:"left", 
     sortable:false, 
     editable:true, 
     search:false 
    }, { 
     name:'lat_mdt', 
     index:'lat_mdt', 
     width:40, 
     align:"left", 
     sortable:false, 
     editable:true, 
     search:false 
    } , { 
     name:'lng_mdt', 
     index:'lng_mdt', 
     width:40, 
     align:"left", 
     sortable:false, 
     editable:true, 
     search:false 
    }, { 
     name:'flag_mdt', 
     index:'flag_mdt', 
     width:20, 
     align:"left", 
     sortable:true, 
     editable:true, 
     edittype:"select", 
     editoptions: {value:{'1':'Flagged','0':'No Flag'}}, 
     search:true,// 
     stype:'select', 
     searchoptions:{value:{'':'All','1':'Flagged','0':'No Flag'}}//{value:":Both;1:Flagged;0:No Flag"} 
    }, { 
     name:'description_mdt', 
     index:'description_mdt', 
     width:150, 
     align:"left", 
     sortable:false, 
     editable:true, 
     search:false, 
     edittype:"textarea", 
     editoptions:{rows:"3",cols:"30"} 
    }, { 
     name:'active_mdt', 
     index:'active_mdt', 
     width:20, 
     align:"left", 
     sortable:true, 
     editable:true, 
     edittype:"select", 
     editoptions: {value:{'1':'Active','0':'Hidden'}}, 
     search:true,// 
     stype:'select', 
     searchoptions:{value:{'':'All','1':'Active','0':'Hidden'}} //{value:":Both;1:Active;0:Hidden"} 
    }], search : { 
     caption: "Search...", 
     Find: "Find", 
     Reset: "Reset", 
     matchText: " match", 
     rulesText: " rules" 
    }, 

    gridComplete: function(){ 
     var ids = jQuery("#rowed2").jqGrid('getDataIDs'); 
     for(var i=0;i < ids.length;i++){ 
      var cl = ids[i]; 
      be = "<input style='height:22px;width:20px;' type='button' value='E' alt='Edit Location' onclick=\"jQuery('#rowed2').editGridRow('"+cl+"');\" />"; 
      se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#rowed2').saveRow('"+cl+"');\" />"; 
      ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#rowed2').restoreRow('"+cl+"');\" />"; 
      fl = "<input style='height:22px;width:50px;' type='button' value='Find' alt='Find Location' class='findMe' rel='"+cl+"' />"; 
      gc = "<input style='height:22px;width:50px;' type='button' value='Geo' class='geocodeMe' rel='"+cl+"' />"; 
      jQuery("#rowed2").jqGrid('setRowData',ids[i],{Actions:fl+gc}); 
     } 
    } 
}); 

jQuery("#rowed2").jqGrid('navGrid',"#prowed2", 
    {edit:true,add:true,del:true,search:true,refresh:true}, 
    {closeOnEscape:true, recreateForm: true, width:500}, 
    {closeOnEscape:true, recreateForm: true, width:500} // Add options 

); 
myGrid.jqGrid('filterToolbar',{defaultSearch:'cn',stringResult:true}); 
}); 

回答

12

尝试在colModel的id字段添加key: true

+1

谢谢你的工作,虽然它发送id为id_mdt,但在程序页面上,我有多个case语句的编辑删除和添加取决于哪个操作被发送,是否反过来更改传递值为id_mdt而不是ID?? – 2011-05-26 10:29:34

+0

ahh它确定它将它作为编辑标识发送,所以不是问题 – 2011-05-26 10:31:00

+2

请参阅prmNames选项:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options。附:如果回答你的问题,请接受答案。谢谢。 – 2011-05-26 10:33:19