在ui-grid中添加重复行,在反映所有其他行的一个字段上键入,

时间:2016-11-07 04:29:47

标签: angularjs angular-ui-grid

使用以下字段创建了一个UI网格。

vm.gridRadioTest.columnDefs = [{
       name: 'testName',
       displayName: 'Test Name',
       enableCellEdit: false,
       enableColumnMenu: false,
       enableSorting: true,
       sort: {
        direction: uiGridConstants.ASC
       }
      }, {
       name: 'remarks',
       displayName: 'Remarks to Lab',
       enableCellEdit: true,
       enableColumnMenu: false
      }, {
       name: 'xrayNo',
       displayName: 'X-ray No',
       enableCellEdit: true,
       enableColumnMenu: false
      }, {
       name: 'testStatus.status',
       displayName: 'Status',
       enableCellEdit: false,
       enableColumnMenu: false,
       //cellTemplate: '<a style="cursor: pointer;color: black" class="ui-grid-cell-contents" ng-if="row.entity.resultStatus != null" ng-click="grid.appScope.navigateToPage(row)"><span class=\"glyphicon glyphicon glyphicon-folder-open\" >Report</span></a>'
      }, {
       name: 'reportStatus',
       displayName: 'Report Status',
       enableCellEdit: false,
       enableColumnMenu: false,
       //cellTemplate: '<a style="cursor: pointer;color: black" class="ui-grid-cell-contents" ng-if="row.entity.resultStatus != null" ng-click="grid.appScope.navigateToPage(row)"><span class=\"glyphicon glyphicon glyphicon-folder-open\" >Report</span></a>'
      },{
       name: 'xrayReferral',
       displayName: 'X-Ray Referral',
       nableCellEdit : true,
       editableCellTemplate: 'ui-grid/dropdownEditor',
       cellFilter: 'mapLabSpecimen:this',
       editDropdownIdLabel: 'estCode',
       editDropdownValueLabel: 'estName',
       editDropdownOptionsArray: vm.instituteList,
       width: '30%'
     //  enableColumnMenu: false,
      // cellEditableCondition:false
        //cellTemplate: '<div class="ui-grid-cell-contents" ng-if="row.entity.resultStatus == \'\'" ><span class=\"glyphicon glyphicon-ok-circle\" style=\"color: green\";>Normal</span></div><div class="ui-grid-cell-contents" ng-if="row.entity.resultStatus == \'Abnormal\' "><span class=\"glyphicon glyphicon-remove-circle\" style=\"color: Red\";>Abnormal</span></div>'
      },{
       name: 'add',
       displayName: '',
       enableCellEdit: false,
       enableColumnMenu: false,
       width: '3%',
       cellTemplate: '<div class="ui-grid-cell-contents" ><span class=\"glyphicon glyphicon-plus  btn-primary-joli\" ng-click="grid.appScope.reOrderRadioTest()"></span></div>'
      }];

在每个添加按钮的网格中按下新记录单击

 $scope.reOrderRadioTest = function(){
      vm.gridRadioTest.data.push(radioTestList);
  }

radioTestList是

{"code":null,"message":"Total 1 records found","result":{"testId":4,"testName":"X-RAY","testNameAr":null,"testType":"R","componentTestsYn":null,"testUnitMast":{"id":1089,"ucumCode":"pmol/umol","ucumDesc":"PicoMolesPerMicroMole [Substance Ratio Or Substance Fraction Units]","ucumSynonym":"pmol/umol","mohName":"pmol/umol","activeYn":null},"labTestResultRange":{"testid":4,"description":"DESCRIPTION ","sex":"M","fromAge":0,"fromAgeFactor":"D","toAge":15,"toAgeFactor":"D","low":30,"high":50,"intermediateValue":40,"criticalLow":10,"criticalHigh":80,"printDescription":null,"ruleId":null,"createdBy":null,"createdDt":null,"lastModifiedBy":null,"lastModifiedDt":null,"rangeId":2,"activeYn":"Y","alertLowRange":null,"alertHighRange":null},"refOutYn":null,"doneHereYn":null,"mohTestId":null,"activeYn":"Y"}}

这里所有关于输入值的一个网格字段都出现在所有其他字段中。 在这里,我在一个字段中输入ff,它反映在所有其他行中。

enter image description here

我可以在内部看到它使用hashkey,我该如何修改

1 个答案:

答案 0 :(得分:1)

我找到了解决方案:

在添加行的函数中,添加radioTestList变量的初始化。

$scope.reOrderRadioTest = function(){
  var radioTestList= {"remarks":'',"testName":''};
  vm.gridRadioTest.data.push(radioTestList);
}

Working Plunker在这里:http://plnkr.co/edit/Vnn4K5DcCdiercc22Vry?p=preview