jqGrid>;数据类型:";“本地”&燃气轮机;是否(一次)获取并保存列中所有已编辑的单元格?

jqGrid>;数据类型:";“本地”&燃气轮机;是否(一次)获取并保存列中所有已编辑的单元格?,jqgrid,Jqgrid,我有一个带有datatype=“local”的网格。数据是一个数组,如下所示: var mydata = [{id:1,valeur:"a_value",designation:"a_designation"}, {id:2,...}, ...]; 第二列(名为valeur)是网格中唯一可编辑的列(editable:true在colModel中设置) 在网格的寻呼机中,我有两个按钮: 一个用于编辑名为valeur的列的所有单元格(一次): $("#mygrid").jqGrid('navBu

我有一个带有
datatype=“local”
的网格。数据是一个数组,如下所示:

var mydata = [{id:1,valeur:"a_value",designation:"a_designation"}, {id:2,...}, ...];
第二列(名为valeur)是网格中唯一可编辑的列(
editable:true
colModel
中设置)

在网格的寻呼机中,我有两个按钮:

  • 一个用于编辑名为valeur的列的所有单元格(一次):

    $("#mygrid").jqGrid('navButtonAdd','#pager',{caption:"Edit values",
    onClickButton:function(){ var ids = $('#mygrid').jqGrid('getDataIDs');
    for(var i=0;i<ids.length+1;i++){ $('#mygrid').jqGrid('editRow',ids[i],true);}
    }});
    
    对于每个显示,我都会得到如下结果:

    valeur=< input class="editable" role="textbox" name="valeur" id="1_valeur" style="width: 98%;" type="text"> ...
    
    valeur=。。。
    
    • 因此,当单元格处于编辑模式时,所有rd.valeur都是一个输入文本标记
    • 当它们不是时,我得到单元格的初始值

    如何获取和保存此列的所有更改(编辑模式下的所有单元格)?

    问题在于
    getRowData
    不适用于行处于编辑模式的情况。从:

    编辑行或单元格时不要使用此方法。这将返回单元格内容,而不是输入元素的实际值

    正如您所观察到的,如果在编辑行时尝试使用此方法,您将获得原始HTML而不是值。这里有两个选项:

    • 正如Qualliarys所建议的,您可以先保存数据,例如使用
      saveRow
    • 或者,您可以自己解析输入标记,也许可以使用jQuery来辅助

    问题在于
    getRowData
    不适用于行处于编辑模式的情况。从:

    编辑行或单元格时不要使用此方法。这将返回单元格内容,而不是输入元素的实际值

    正如您所观察到的,如果在编辑行时尝试使用此方法,您将获得原始HTML而不是值。这里有两个选项:

    • 正如Qualliarys所建议的,您可以先保存数据,例如使用
      saveRow
    • 或者,您可以自己解析输入标记,也许可以使用jQuery来辅助

      • 您尝试以自己的方式使用jqGrid。为什么?我发现在编辑模式下同时切换jqGrid的所有行不是最好的方法


        如果您真的需要在本地对网格进行最大程度的操作,并在最后发送结果,那么您可以尝试jqGrid的新beta版。这可能是你最好的方式。有关详细信息,请参阅。

        您尝试以自己的方式使用jqGrid。为什么?我发现在编辑模式下同时切换jqGrid的所有行不是最好的方法

        $ ( document).ready(function(){
        var lastsel=-1;
        $("#list4").jqGrid({
          data:mydata,
          datatype: "local",
          pager: '#pager14',
          height:"100%",
          autowidth: true,
          multiselect: false,
          sortable:false,
          sortname: 'id',
          sortorder: "desc",
          colNames:['Index','Label','Value','Designation','','Name'],
          colModel:[
            {name:'id',index:'id',sorttype:"int",hidden:true},    
            {name:'label',index:'label',sorttype:"text",resizable:false,width:80},
            {name:'valeur',editable:true,resizable:false,width:85},
            {name:'designation',index:'designation',sorttype:"text",resizable:false,width:200},
            {name:'unite',sortable:false,align:'center',resizable:false,width:10},
            {name:'name',index:'name',sorttype:"text",hidden:true}
          ],  
          afterInsertRow: function(rowid){    
            $("#list4").jqGrid('setCell',rowid,'label','',{'font-weight':'bold','border-top':'0px','border-left':'0px'});
            $("#list4").jqGrid('setCell',rowid,'label','','ui-state-default');
          },
          ondblClickRow: function(id, ri, ci) {
            $('#list4').jqGrid('editRow',id,true);
          },
          onSelectRow: function(id){
            if(id && id!==lastsel){
              $('#list4').jqGrid('restoreRow',lastsel);
              lastsel=id;
            }
          },
          footerrow :false,
          pgbuttons:true,
          editurl: "client_test2.php",
          caption: "Event identity : attention il faut mettre un certificat en S_SESSION !!!"
        });
        
        var mydata = [
          {id:1,label:"Buyer",valeur:"<?php echo $_SESSION["certificats"][0]["acheteur"]?>",designation:"Nom de l'acheteur de la marchandise",unite:"",name:'acheteur'},
          {id:2,label:"Contract",valeur:"<?php echo $_SESSION["certificats"][0]["contrat"]?>",designation:"Liste des contrats établis entre les vendeurs et l'acheteur",unite:"",name:'contrat'},
          {id:3,label:"Seller",valeur:"<?php echo $_SESSION["certificats"][0]["vendeur"]?>",designation:"Nom du vendeur de la marchandise",unite:"",name:'vendeur'},
          {id:4,label:"Network",valeur:"<?php echo $_SESSION["certificats"][0]["filiere"]?>",designation:"Filière complète des vendeurs",unite:"",name:'filiere'},
          {id:5,label:"Product",valeur:"<?php echo $_SESSION["certificats"][0]["produit"]?>",designation:"Nom de la marchandise",unite:"",name:'produit'},
          {id:6,label:"Variety",valeur:"<?php echo $_SESSION["certificats"][0]["variete"]?>",designation:"Nom de la variété de la marchandise",unite:"",name:'variete'},
          {id:7,label:"Weight",valeur:"<?php echo $_SESSION["certificats"][0]["poids"]?>",designation:"Nombre de tonnes contracté",unite:"<img src=\'/img/v3/aide0.png\'title=\'Metric Ton : 1000,000 mt\'/>",name:'poids'},
          {id:8,label:"Controler",valeur:"<?php echo $_SESSION["certificats"][0]["controleur"]?>",designation:"Identitées du contrôleur",unite:"",name:'controleur'},
          {id:9,label:"Start",valeur:"<?php echo $_SESSION["certificats"][0]["debut"]?>",designation:"Date et heure de début de l'événement",unite:"<img src=\'/img/v3/aide0.png\'title=\'Datetime : 2008-02-23 08:00:00\'/>",name:'debut'},
          {id:10,label:"End",valeur:"<?php echo $_SESSION["certificats"][0]["fin"]?>",designation:"Date et heure de fin de l'événement",unite:"<img src=\'/img/v3/aide0.png\'title=\'Datetime : 2008-02-23 08:00:00\'/>",name:'fin'},
        ];
        
        for(var i=0;i<=mydata.length;i++){
          $("#list4").jqGrid('addRowData',i+1,mydata[i]);
        }
        
        $("#list4").jqGrid('navGrid',"#pager14",{view:false,edit:false,add:false,del:false,search:false,refresh:false,refreshtext:''});
        $("#list4").jqGrid('sortableRows');
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"Edit values &nbsp;",buttonicon:"ui-icon-pencil",
          onClickButton:function(){
            var ids = $('#list4').jqGrid('getDataIDs');
            for(var i=0;i<ids.length+1;i++){
              $('#list4').jqGrid('editRow',ids[i],true);
            }
          }
        });
        
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"Save changes &nbsp;",buttonicon:"ui-icon-disk",
          onClickButton:function(){
            var ids = $('#list4').jqGrid('getDataIDs');
            for(var i=0;i<ids.length+1;i++){
              $('#list4').jqGrid('saveRow',ids[i],false,'mydata');
            }
          }
        });
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"",buttonicon:"ui-icon-info",
          onClickButton:function(){
        
          }
        });
        
        
        $("#list4 tr").hover(
          function(){$(this).find("td").eq(1).removeClass('ui-state-default'); $(this).addClass("ui-state-hover");},
          function(){ if(!$(this).hasClass("ui-state-active")) $(this).find("td").eq(1).addClass('ui-state-default'); }
        );
        
        $("#list4 tr").click(
            function(){$("#list4 tr").each(function() {$(this).find("td").eq(1).addClass('ui-state-default'); });
            $(".ui-state-active").removeClass("ui-state-active");
            $(".ui-state-highlight").removeClass("ui-state-highlight");
            $(this).find("td").eq(1).removeClass('ui-state-default');
            $(this).addClass("ui-state-active");
        });
        });
        
        如果您真的需要在本地对网格进行最大程度的操作,并在最后发送结果,那么您可以尝试jqGrid的新beta版。这可能是你最好的方式。有关详细信息,请参见。

        $(文档).ready(函数()){
        $ ( document).ready(function(){
        var lastsel=-1;
        $("#list4").jqGrid({
          data:mydata,
          datatype: "local",
          pager: '#pager14',
          height:"100%",
          autowidth: true,
          multiselect: false,
          sortable:false,
          sortname: 'id',
          sortorder: "desc",
          colNames:['Index','Label','Value','Designation','','Name'],
          colModel:[
            {name:'id',index:'id',sorttype:"int",hidden:true},    
            {name:'label',index:'label',sorttype:"text",resizable:false,width:80},
            {name:'valeur',editable:true,resizable:false,width:85},
            {name:'designation',index:'designation',sorttype:"text",resizable:false,width:200},
            {name:'unite',sortable:false,align:'center',resizable:false,width:10},
            {name:'name',index:'name',sorttype:"text",hidden:true}
          ],  
          afterInsertRow: function(rowid){    
            $("#list4").jqGrid('setCell',rowid,'label','',{'font-weight':'bold','border-top':'0px','border-left':'0px'});
            $("#list4").jqGrid('setCell',rowid,'label','','ui-state-default');
          },
          ondblClickRow: function(id, ri, ci) {
            $('#list4').jqGrid('editRow',id,true);
          },
          onSelectRow: function(id){
            if(id && id!==lastsel){
              $('#list4').jqGrid('restoreRow',lastsel);
              lastsel=id;
            }
          },
          footerrow :false,
          pgbuttons:true,
          editurl: "client_test2.php",
          caption: "Event identity : attention il faut mettre un certificat en S_SESSION !!!"
        });
        
        var mydata = [
          {id:1,label:"Buyer",valeur:"<?php echo $_SESSION["certificats"][0]["acheteur"]?>",designation:"Nom de l'acheteur de la marchandise",unite:"",name:'acheteur'},
          {id:2,label:"Contract",valeur:"<?php echo $_SESSION["certificats"][0]["contrat"]?>",designation:"Liste des contrats établis entre les vendeurs et l'acheteur",unite:"",name:'contrat'},
          {id:3,label:"Seller",valeur:"<?php echo $_SESSION["certificats"][0]["vendeur"]?>",designation:"Nom du vendeur de la marchandise",unite:"",name:'vendeur'},
          {id:4,label:"Network",valeur:"<?php echo $_SESSION["certificats"][0]["filiere"]?>",designation:"Filière complète des vendeurs",unite:"",name:'filiere'},
          {id:5,label:"Product",valeur:"<?php echo $_SESSION["certificats"][0]["produit"]?>",designation:"Nom de la marchandise",unite:"",name:'produit'},
          {id:6,label:"Variety",valeur:"<?php echo $_SESSION["certificats"][0]["variete"]?>",designation:"Nom de la variété de la marchandise",unite:"",name:'variete'},
          {id:7,label:"Weight",valeur:"<?php echo $_SESSION["certificats"][0]["poids"]?>",designation:"Nombre de tonnes contracté",unite:"<img src=\'/img/v3/aide0.png\'title=\'Metric Ton : 1000,000 mt\'/>",name:'poids'},
          {id:8,label:"Controler",valeur:"<?php echo $_SESSION["certificats"][0]["controleur"]?>",designation:"Identitées du contrôleur",unite:"",name:'controleur'},
          {id:9,label:"Start",valeur:"<?php echo $_SESSION["certificats"][0]["debut"]?>",designation:"Date et heure de début de l'événement",unite:"<img src=\'/img/v3/aide0.png\'title=\'Datetime : 2008-02-23 08:00:00\'/>",name:'debut'},
          {id:10,label:"End",valeur:"<?php echo $_SESSION["certificats"][0]["fin"]?>",designation:"Date et heure de fin de l'événement",unite:"<img src=\'/img/v3/aide0.png\'title=\'Datetime : 2008-02-23 08:00:00\'/>",name:'fin'},
        ];
        
        for(var i=0;i<=mydata.length;i++){
          $("#list4").jqGrid('addRowData',i+1,mydata[i]);
        }
        
        $("#list4").jqGrid('navGrid',"#pager14",{view:false,edit:false,add:false,del:false,search:false,refresh:false,refreshtext:''});
        $("#list4").jqGrid('sortableRows');
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"Edit values &nbsp;",buttonicon:"ui-icon-pencil",
          onClickButton:function(){
            var ids = $('#list4').jqGrid('getDataIDs');
            for(var i=0;i<ids.length+1;i++){
              $('#list4').jqGrid('editRow',ids[i],true);
            }
          }
        });
        
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"Save changes &nbsp;",buttonicon:"ui-icon-disk",
          onClickButton:function(){
            var ids = $('#list4').jqGrid('getDataIDs');
            for(var i=0;i<ids.length+1;i++){
              $('#list4').jqGrid('saveRow',ids[i],false,'mydata');
            }
          }
        });
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"",buttonicon:"ui-icon-info",
          onClickButton:function(){
        
          }
        });
        
        
        $("#list4 tr").hover(
          function(){$(this).find("td").eq(1).removeClass('ui-state-default'); $(this).addClass("ui-state-hover");},
          function(){ if(!$(this).hasClass("ui-state-active")) $(this).find("td").eq(1).addClass('ui-state-default'); }
        );
        
        $("#list4 tr").click(
            function(){$("#list4 tr").each(function() {$(this).find("td").eq(1).addClass('ui-state-default'); });
            $(".ui-state-active").removeClass("ui-state-active");
            $(".ui-state-highlight").removeClass("ui-state-highlight");
            $(this).find("td").eq(1).removeClass('ui-state-default');
            $(this).addClass("ui-state-active");
        });
        });
        
        var lastsel=-1; $(“#列表4”).jqGrid({ 数据:mydata, 数据类型:“本地”, 传呼机:“#第14页”, 高度:“100%”, 自动宽度:正确, 多选:错, 可排序:false, sortname:'id', 巫师:“描述”, colNames:['Index','Label','Value','Designation','','Name'], colModel:[ {name:'id',index:'id',sorttype:'int',hidden:true}, {name:'label',index:'label',sorttype:“text”,可调整大小:false,宽度:80}, {name:'valeur',可编辑:true,可调整大小:false,宽度:85}, {name:'designation',index:'designation',sorttype:“text”,可调整大小:false,宽度:200}, {name:'unite',sortable:false,align:'center',reshable:false,width:10}, {name:'name',index:'name',sorttype:“text”,hidden:true} ], afterInsertRow:函数(rowid){ $(“#list4”).jqGrid('setCell',rowid,'label','',“{'font-weight':'bold','border-top':'0px','border-left':'0px'); $(“#list4”).jqGrid('setCell',rowid,'label','','ui-state-default'); }, ondblClickRow:函数(id、ri、ci){ $('#list4').jqGrid('editRow',id,true); }, OnSetrow:功能(id){ if(id&&id!==lastsel){ $('#list4').jqGrid('restoreRow',lastsel); lastsel=id; } }, 脚注行:false, 是的, editurl:“client_test2.php”, 描述:“活动标识:请注意 }); var mydata=[ {id:1,标签:“买方”,valeur:,名称:“Nom de l'acheteur de la marchandise”,unite:,名称:'acheteur'}, {id:2,标签:“合同”,商标:,名称:“卖方和承包商合同清单”,单位:,名称:'CONTAT'}, {id:3,标签:“卖方”,valeur:,名称:“Nom du vendeur de la marchandise”,unite:,名称:'vendeur'}, {id:4,标签:“网络”,valeur:,名称:“Filière complète des venders”,unite:,名称:'filiere'}, {id:5,标签:“产品”,valeur:,名称:“Nom de la marchandise”,unite:,名称:'produit'}, {id:6,标签:“品种”,valeur:,名称:“Nom de la variétéde la marchandise”,unite:,名称:“variete”}, {id:7,标签:“重量”,valeur:,名称:“标称吨合同”,单位:,名称:'poids', {id:8,标签:“控制者”,valeur:,名称:“控制者识别”,unite:,名称:'controleur'}, {id:9,标签:“开始”,valeur:,名称:“日期和日期,但不包括日期”,unite:,名称:'First', {id:10,标签:“结束”,valeur:,名称:“结束日期”,单位:,名称:'fin'}, ]; 对于(var i=0;i
        $(document).ready(function()){
        var lastsel=-1;
        $(“#列表4”).jqGrid({
        数据:mydata,
        数据类型:“本地”,
        传呼机:“#第14页”,
        高度:“100%”,
        自动宽度:正确,
        多选:错,
        可排序:false,
        sortname:'id',
        巫师:“描述”,
        colNames:['Index','Label','Value','Designation','','Name'],
        colModel:[
        {name:'id',index:'id',sorttype:'int',hidden:true},
        {name:'label',index:'label',sorttype:“text”,可调整大小:false,宽度:80},
        {name:'valeur',可编辑:true,可调整大小:false,宽度:85},
        {name:'designation',index:'designation',sorttype:“text”,可调整大小:false,宽度:200},
        {name:'unite',可排序:false,a
        
        $ ( document).ready(function(){
        var lastsel=-1;
        $("#list4").jqGrid({
          data:mydata,
          datatype: "local",
          pager: '#pager14',
          height:"100%",
          autowidth: true,
          multiselect: false,
          sortable:false,
          sortname: 'id',
          sortorder: "desc",
          colNames:['Index','Label','Value','Designation','','Name'],
          colModel:[
            {name:'id',index:'id',sorttype:"int",hidden:true},    
            {name:'label',index:'label',sorttype:"text",resizable:false,width:80},
            {name:'valeur',editable:true,resizable:false,width:85},
            {name:'designation',index:'designation',sorttype:"text",resizable:false,width:200},
            {name:'unite',sortable:false,align:'center',resizable:false,width:10},
            {name:'name',index:'name',sorttype:"text",hidden:true}
          ],  
          afterInsertRow: function(rowid){    
            $("#list4").jqGrid('setCell',rowid,'label','',{'font-weight':'bold','border-top':'0px','border-left':'0px'});
            $("#list4").jqGrid('setCell',rowid,'label','','ui-state-default');
          },
          ondblClickRow: function(id, ri, ci) {
            $('#list4').jqGrid('editRow',id,true);
          },
          onSelectRow: function(id){
            if(id && id!==lastsel){
              $('#list4').jqGrid('restoreRow',lastsel);
              lastsel=id;
            }
          },
          footerrow :false,
          pgbuttons:true,
          editurl: "client_test2.php",
          caption: "Event identity : attention il faut mettre un certificat en S_SESSION !!!"
        });
        
        var mydata = [
          {id:1,label:"Buyer",valeur:"<?php echo $_SESSION["certificats"][0]["acheteur"]?>",designation:"Nom de l'acheteur de la marchandise",unite:"",name:'acheteur'},
          {id:2,label:"Contract",valeur:"<?php echo $_SESSION["certificats"][0]["contrat"]?>",designation:"Liste des contrats établis entre les vendeurs et l'acheteur",unite:"",name:'contrat'},
          {id:3,label:"Seller",valeur:"<?php echo $_SESSION["certificats"][0]["vendeur"]?>",designation:"Nom du vendeur de la marchandise",unite:"",name:'vendeur'},
          {id:4,label:"Network",valeur:"<?php echo $_SESSION["certificats"][0]["filiere"]?>",designation:"Filière complète des vendeurs",unite:"",name:'filiere'},
          {id:5,label:"Product",valeur:"<?php echo $_SESSION["certificats"][0]["produit"]?>",designation:"Nom de la marchandise",unite:"",name:'produit'},
          {id:6,label:"Variety",valeur:"<?php echo $_SESSION["certificats"][0]["variete"]?>",designation:"Nom de la variété de la marchandise",unite:"",name:'variete'},
          {id:7,label:"Weight",valeur:"<?php echo $_SESSION["certificats"][0]["poids"]?>",designation:"Nombre de tonnes contracté",unite:"<img src=\'/img/v3/aide0.png\'title=\'Metric Ton : 1000,000 mt\'/>",name:'poids'},
          {id:8,label:"Controler",valeur:"<?php echo $_SESSION["certificats"][0]["controleur"]?>",designation:"Identitées du contrôleur",unite:"",name:'controleur'},
          {id:9,label:"Start",valeur:"<?php echo $_SESSION["certificats"][0]["debut"]?>",designation:"Date et heure de début de l'événement",unite:"<img src=\'/img/v3/aide0.png\'title=\'Datetime : 2008-02-23 08:00:00\'/>",name:'debut'},
          {id:10,label:"End",valeur:"<?php echo $_SESSION["certificats"][0]["fin"]?>",designation:"Date et heure de fin de l'événement",unite:"<img src=\'/img/v3/aide0.png\'title=\'Datetime : 2008-02-23 08:00:00\'/>",name:'fin'},
        ];
        
        for(var i=0;i<=mydata.length;i++){
          $("#list4").jqGrid('addRowData',i+1,mydata[i]);
        }
        
        $("#list4").jqGrid('navGrid',"#pager14",{view:false,edit:false,add:false,del:false,search:false,refresh:false,refreshtext:''});
        $("#list4").jqGrid('sortableRows');
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"Edit values &nbsp;",buttonicon:"ui-icon-pencil",
          onClickButton:function(){
            var ids = $('#list4').jqGrid('getDataIDs');
            for(var i=0;i<ids.length+1;i++){
              $('#list4').jqGrid('editRow',ids[i],true);
            }
          }
        });
        
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"Save changes &nbsp;",buttonicon:"ui-icon-disk",
          onClickButton:function(){
            var ids = $('#list4').jqGrid('getDataIDs');
            for(var i=0;i<ids.length+1;i++){
              $('#list4').jqGrid('saveRow',ids[i],false,'mydata');
            }
          }
        });
        
        $("#list4").jqGrid('navButtonAdd','#pager14',{
          caption:"",buttonicon:"ui-icon-info",
          onClickButton:function(){
        
          }
        });
        
        
        $("#list4 tr").hover(
          function(){$(this).find("td").eq(1).removeClass('ui-state-default'); $(this).addClass("ui-state-hover");},
          function(){ if(!$(this).hasClass("ui-state-active")) $(this).find("td").eq(1).addClass('ui-state-default'); }
        );
        
        $("#list4 tr").click(
            function(){$("#list4 tr").each(function() {$(this).find("td").eq(1).addClass('ui-state-default'); });
            $(".ui-state-active").removeClass("ui-state-active");
            $(".ui-state-highlight").removeClass("ui-state-highlight");
            $(this).find("td").eq(1).removeClass('ui-state-default');
            $(this).addClass("ui-state-active");
        });
        });
        
        ...
        onSelectRow: function(id){
          $('#list4').jqGrid('saveRow',lastsel,false,'clientArray');
          if(id && id!==lastsel){
            $('#list4').jqGrid('restoreRow',lastsel);
            lastsel=id;
          }
          $('#list4').jqGrid('editRow',id,false);
        },
        ...