2016-08-31 2 views
0

HTMLAngularJS ui-grid 데이터가 래퍼 외부에 나타 납니까? 페이지 매김 작업, 필터링 작업, 정렬 작동하지만 데이터 -

<div id="landingGrid" ui-grid="landingGrid" class="landingGrid" ui-grid-pagination></div> 

JS는

 $scope.submitted_columns = [ 
      {field: "application_id", 
       visible: false}, 
      {field: "date_entered", 
       displayName: "Created On", 
       enableFiltering: true, 
       callClass: 'text-center', 
       width: '10%', 
       cellFilter: 'date : "MM/DD/YYYY"'}, 
      {field: 'application_name', 
       displayName: "Name", 
       enableFiltering: true, 
       width: '15%', 
       cellClass: 'text-left'}, 
      {field: 'merchant_name', 
       displayName: "Merchant DBA", 
       enableFiltering: true, 
       width: '15%', 
       cellClass: 'text-left'}, 
      {field: 'contract_type', 
       displayName: "Contract Type", 
       enableFiltering: false, 
       width: '10%', 
       cellClass: 'text-left'}, 
      {field: 'funding_type', 
       displayName: "Funding Type", 
       enableFiltering: false, 
       width: '8%', 
       cellClass: 'text-left'}, 
      {field: 'application_status', 
       displayName: "Status", 
       enableFiltering: true, 
       width: '8%', 
       cellClass: function (grid, row, col, rowRenderIndex, colRenderIndex) { 
        if (grid.getCellValue(row, col) === "saved") { 
         highlightRowsByStatus(rowRenderIndex, 'red'); 
         return "text-left"; 
        } 
        if (grid.getCellValue(row, col) === "wait_on_docs" || grid.getCellValue(row, col) === "contract_out") { 
         highlightRowsByStatus(rowRenderIndex, 'orange'); 
         return "text-left"; 
        } 
       } 
      }, 
      {field: 'purchase_price', 
       displayName: "Offer Amount", 
       enableFiltering: false, 
       width: '10%', 
       cellClass: 'text-right', 
       cellFilter: 'currency'}, 
      {field: 'decline_reason', 
       displayName: "Decline Reason", 
       enableFiltering: false, 
       width: '10%', 
       cellClass: 'text-left'}, 
      {field: 'iso_dba', 
       displayName: "Sales Agent", 
       enableFiltering: true, 
       cellClass: 'text-left'} 
     ]; 
     $scope.landingGrid = { 
      useExternalSorting: true, 
      enableSorting: true, 
      enableFiltering: true, 
      columnDefs: $scope.submitted_columns, 
      paginationPageSizes: [25, 50, 100, 250], 
      paginationPageSize: 25, 
      enableCellSelection: false, 
      enableRowSelection: false, 
      enableCellEdit: false, 
      onRegisterApi: function (gridApi) { 
       $scope.gridApi = gridApi; 
       $scope.gridApi.core.on.sortChanged($scope, function (grid, sortColumns) { 
        console.debug(sortColumns); 
       }); 
      } 
     }; 
     LandingFactory.getSubmittedNWApplicationsForUserID(UserObject.userId, $scope.recordsStart, $scope.recordsLimit).then(
       function successCallback(response) { 
        if (typeof response.data.data !== undefined) { 
         $scope.landingGrid.data = response.data.data; 
        } else { 
         console.log("No records to return"); 
        } 
       }, function errorCallback(response) { 
      console.debug("Error returned from getSubmittedNWApplicationsForUserID", response); 
     }); 
    }; 

The rendered grid

데이터 결과가 정확한지, 그리드 자체가 큰 보이는 행은 페이지 매기기 바닥 글 아래에 렌더링됩니다. 누구든지 아이디어가 있습니까?

+0

나중에 어떤'$의 scope.submitted_columns'과 같이 정의된다 제공 할 수 있습니까? – KreepN

+0

열 정의 추가 – DevlshOne

+0

이상한 물건, 당신의 col defs에 사용자 정의 html 템플릿이 표시되지 않습니다. 이 일이 일어날 때 대부분의 시간은 닫히지 않은 html로 인한 것이지만 아무 것도 볼 수 없습니다. 아마도 그리드의 데이터를 하나의 객체가있는 콜렉션과 동일하게 설정하십시오. 이 문제가 해결되면 다른 행의 데이터가 원인인지 알 수 있습니다. 그렇지 않은 경우 데이터가 아닙니다. 한 번에 몇 개의 열을 제거하고 문제가 해결되었는지 확인한 다음 문제를 지적하고 시도해 봅니다. – KreepN

답변

1

문제가 발견되었습니다. ui-grid.min.css에서 다음 코드를 변경해야합니다 :

.ui-grid-header-cell-wrapper { 
    position: relative; 
    display: table; 
    box-sizing: border-box; 
    height: 100%; /* REMOVE ME */ 
}