2016-08-03 188 views
0

我使用模式表单来更新/创建我的记录“reloadGrid”方法使网格enter image description here能够从模式“save”bouton中刷新,但是 1)my form below不会更新。 2)jqGrid表中最后一个选中的行没有被选中。jqgrid“reloadGrid”动作后将数据重新加载到文本框

我试图手动强制选择的行与 jQuery('#grid')。jqGrid('setSelection',selRowID,true); 但所选行返回null。 下面是保存更新的记录,并suposed触发电网和控制更新的功能:

//function SauvegarderMessage(IDMessage) { 
 
function ModifierDemandeur() { 
 
    //console.log("Modifier"); 
 

 
    var xCodeDdeur = $('#txtCode_Demandeur').val(); 
 
    var xAddDdeur = $('#txtAdresse_Demandeur').val(); 
 
    var xIDVille = $('#cbxVille_Demandeur').val(); 
 
    var xIDProv = $('#cbxProvince_Demandeur').val(); 
 
    var xCPDdeur = $('#txtCodePostal_Demandeur').val(); 
 
    var xTel1Ddeur = $('#txtTel1_Demandeur').val(); 
 
    var xTel2Ddeur = $('#txtTel2_Demandeur').val(); 
 
    var xTel3Ddeur = $('#txtTel3_Demandeur').val(); 
 
    var xCour1Ddeur = $('#Courriel1_Demandeur').val(); 
 
    var xCour2Ddeur = $('#Courriel2_Demandeur').val(); 
 
    var xCour3Ddeur = $('#Courriel3_Demandeur').val(); 
 
    var xIDSitMat = $('#cbxSitMat_Demandeur').val(); 
 
    var xIDSexe = $('#cbxSexe_Demandeur').val(); 
 
    var xDteNais = $('#txtDteNaissance').val(); 
 
    var xRevDdeur = $('#txtrevenu_demandeur').val(); 
 
    var xIDOcc = $('#cbxOccupation_Demandeur').val(); 
 
    var xIDScol = $('#cbxScolarite_Demandeur').val(); 
 
    var xIDStatLegal = $('#cbxStatutLegal_Demandeur').val(); 
 
    var xIDComm = $('#cbxCommunaute_Demandeur').val(); 
 
    var xIDSceInfo = $('#cbxSourceInformation_Demandeur').val(); 
 
    var xHandicape = $('#cbHandi').val(); 
 
    var xRef = $('#txtReference_Demandeur').val(); 
 
    var xRemDdeur = $('#Remarques_Demandeur').val(); 
 

 

 
    $.ajax({ 
 
     type: "POST", 
 
     url: "../Conseiller/UpdateDemandeurs", 
 
     data: { 
 

 
      Code_Demandeur: xCodeDdeur, 
 
      Adresse_Demandeur: xAddDdeur, 
 
      ID_Ville: xIDVille, 
 
      ID_Province: xIDProv, 
 
      CodePostal_Demandeur: xCPDdeur, 
 
      Tel1_Demandeur: xTel1Ddeur, 
 
      Tel2_Demandeur: xTel2Ddeur, 
 
      Tel3_Demandeur: xTel3Ddeur, 
 
      Courriel1_Demandeur: xCour1Ddeur, 
 
      Courriel2_Demandeur: xCour2Ddeur, 
 
      Courriel3_Demandeur: xCour3Ddeur, 
 
      ID_SituationMatrimoniale: xIDSitMat, 
 
      ID_Sexe: xIDSexe, 
 
      Date_Naissance_Demandeur: xDteNais, 
 
      Revenu_Demandeur: xRevDdeur, 
 
      ID_Occupation: xIDOcc, 
 
      ID_Scolarite: xIDScol, 
 
      ID_StatutLegal: xIDStatLegal, 
 
      ID_Communaute: xIDComm, 
 
      ID_SourceInformation: xIDSceInfo, 
 
      Handicape: xHandicape, 
 
      Reference: xRef, 
 
      Remarques_Demandeur: xRemDdeur, 
 
     }, 
 
     dataType: "json", 
 
     success: function (data) { 
 
      //console.log(data) 
 
      //console.log(data.rows); 
 
      $('#modifierProfilModal').modal('hide'); 
 
      if (data != null) { 
 
       jQuery('#grid').jqGrid('clearGridData') 
 
         .jqGrid('setGridParam', { data: data, datatype: 'json' }) 
 
         .trigger('reloadGrid') 
 
       for (var i = 0; i < data.Data.records; i += 1) { 
 
        var selRowID = data.Data.rows[i].Code_Demandeur; 
 
        var selectedRowID = $('#btnModifierProfile').val(); 
 
        if (selRowID == selectedRowID) { 
 
         //jQuery('#grid').jqGrid('setSelection', selRowID, true);      
 
         var selr = jQuery('#grid').jqGrid('getGridParam', 'selrow'); 
 
         console.log('Ligne sélectionnée: ' + selr); 
 
         return; 
 
        } 
 
       } 
 
      } 
 
     }, 
 
     error: function (err) { console.log(err); } 
 
    });

我试图editRow行动,以迫使行选择,我试图将焦点设置到电网,什么都不会做。

回答

0

解决方法是使用最后选定元素的ID标识每个字段,并使用document.getElementById('controlID')为每个控件分配适当的值。value = some_json_returned_data; 但是,这仍然没有解决网格行选择问题,似乎并不是一个“最佳实践”的方式。

0

编码qgrid的 “loadComplete” 的方法解决问题,既:

 loadComplete: function() { 
 
      if ($('#btnModifierProfile').val() != "") 
 
       jQuery('#grid').jqGrid('setSelection', $('#btnModifierProfile').val()); 
 
     },

所需的行被选中,在其他控制人口相关数据。