1

在我的項目中使用Dojo Gridx。這些是我的列名 id,field1,field2,active狀態在編輯GRIDX中的coulmn後,列值不會更改

我有一個任務,當點擊列活動狀態需要改變活動狀態值,列圖標和field1,field2值。

例如:如果單擊時活動狀態值爲'Y',那麼我想更改field1,field2的值並更改活動狀態圖標。我可以在下面提到的代碼的幫助下實現這個功能。

但這裏的問題是,field1是可編輯的,如果我點擊活動狀態列與編輯field1下面提到的代碼工作正常。我編輯後,如果我點擊下面提到的代碼不工作的活動狀態欄。但值在服務器端的變化,數據庫方面工作正常。我不知道有什麼問題請有人讓我理解。我附上我的代碼供您參考。

require([「dojo/request」,「dojo/i18n!RW/nls/appResources」],函數(request,bundle)request.get(「/ RW/rest /」+ that.resourcePath, {handleAs:「J」}),然後( 函數(J){

    that.JGloData=J; 
        var dataToPopulate = { 
          identifier: 'id', 
          items: that.JGloData 
        }; 
        review.app.defectClassAE.partStore = new dojo.data.ItemFileWriteStore({ 
         data : dataToPopulate 
        }); 

        review.app.defectClassAE.partStructure = [ 
        { 
         field : 'id', 
         name : that.J.defect_id, 
         width : '5%', 
         dataType : 'string', 
         alwaysEditing : false, 
         editable : false, 
        }, 
        { 
         field : 'field1', 
         name : that.J.defect_class, 
         width : '25%', 
         dataType : 'string', 
         alwaysEditing : false, 
         editable : true, 
         editor : dijit.form.Textarea, 
        }, 

        { 
         field : 'field2', 
         name : that.J.defect_activate_date, 
         width : '18%', 
         dataType : 'string', 
         alwaysEditing : false, 
         editable : false, 
        }, 
        { 
         field : 'field3', 
         name : that.J.defect_deactivate_date, 
         width : '18%', 
         dataType : 'string', 
         alwaysEditing : false, 
         editable : false, 
        }, 

        { field: 'activeStatus', name: bundle.RT_QLIST_ACTIVATE, filterable: false, width: '20%' ,editable : false, 
         widgetsInCell: true, 
         decorator: function(){ 
          return "<button data-dojo-type='dijit/form/Button' data-dojo-attach-point='btnactivate' data-dojo-props='showLabel: false' type='button'>Activate</button>"; 
          //return "<div data-dojo-type='dijit.form.Button' data-dojo-attach-point='btnactivate'></div>"; 
          }, 
         setCellValue: function(gridData, storeData, cellWidget){ 
          if(gridData == "Y"){ 
           cellWidget.btnactivate.set('iconClass', "rtIcondeactivateReviewType"); 
          }else{ 
           cellWidget.btnactivate.set('iconClass', "rtIconactivateReviewType"); 
          } 
          (function(cellWidget){ 

           dojo.connect(cellWidget.btnactivate,"onClick",function(){ 
            //var that = this; 
            var rawData = cellWidget.cell.row.rawData(); 
            var cell = cellWidget.cell; 
             var DI=""; 
             var activeStatus=""; 
             DI=rawData.DI; 
             activeStatus=rawData.activeStatus; 
             if(DI!=null && DI!=""){ 
              require(["dojo/request","dojo/i18n!RW/nls/appResources"], function(request,bundle){ 
               request.get("/RW/rest/"+that.resourcePath+"/defectActOrDea/"+DI,{handleAs : 'J'}).then(
                  function(J){ 

                   if(activeStatus=='Y' || activeStatus==""){ 
                    var deactvalues = { 
                    'activeStatus' : 'N', 
                    'field3':that.getTodayDate(), 
                    'field2':"" 
                    }; 
                    cell.row.setRawData(deactvalues); 
                   that.set('iconClass', "rtIcondeactivateReviewType"); 
                   } 
                   else{ 
                    var actvalues = { 
                      'activeStatus' : 'Y', 
                      'field2':that.getTodayDate(), 
                      'field3':"" 
                      }; 
                      cell.row.setRawData(actvalues); 
                   that.set('iconClass', "rtIconactivateReviewType") 
                   } 
                  }, 
                  function(error){ 
                   showErrorNotification(that.J.defect_act_deact_error); 
                  } 
                ); 
              }); 
             } 

           }); 
          })(cellWidget); 
          } 
         }, 
        ]; 
+0

請幫一下... – KSK

回答

1

您必須使用「getCellWidgetConnects」將事件綁定到細胞小部件另外,還要確保你有你的網格模型編輯後保存。

+0

謝謝,它的工作很好.. – KSK

相關問題