2014-06-16 6 views
0

jquery를 사용하지 않고 검도 그리드의 열을 숨기고 표시하는 방법은 무엇입니까? http://jsfiddle.net/tmLmk/7/열 숨기기 및 표시 - 검도 그리드

HTML 코드 :

<div ng-controller="GridController">  
    <div kendo-grid k-options="options" k-data-source="sData"></div> 
</div> 

JS 코드 :

angular.module('angular-kendo-example', ['kendo.directives']); 

function GridController($scope) { 
    $scope.options = { 
     sortable: true, 
     pageable: true, 
     columns: [{ 
      field: "column1", 
      title: "column 1", 
      width: "40px" 
     },{ 
      field: "column2", 
      title: "column 2", 
      width: "70px" 
     },{ 
      field: "column3", 
      title: "column 3", 
      width: "70px" 
     },{ 
      field: "column4", 
      title: "column 4", 
      width: "60px" 
     },{ 
      field: "column5", 
      title: "column 5", 
      width: "40px" 
     },{ 
      field: "column6", 
      title: "column 6", 
      width: "40px" 
     }], 

    }; 
    $scope.sData= [ 
     { column1: "column1 data", column2: "column2 data", column3: "column3 data", column4: "column4 data", column5: "column5 data", column6: "column6 data" }, { column1: "column1 data", column2: "column2 data", column3: "column3 data", column4: "column4 data", column5: "column5 data", column6: "column6 data" }, { column1: "column1 data", column2: "column2 data", column3: "column3 data", column4: "column4 data", column5: "column5 data", column6: "column6 data" } 
    ]; 
} 

감사 여기 예를 들어 JS 바이올린 링크입니다.

답변

2

당신이 열을 선언하기 전에 사실

columnMenu =

를 추가하는 경우 이것은 당신에게 쇼를 가능하게하고 열 옵션을 숨겨야 열 메뉴를 제공해야합니다.

이 링크는 각 열을 숨길 수 $scope.options

프로그래밍 방식으로 열 인덱스를 통과 귀하의 경우,

http://demos.telerik.com/kendo-ui/grid/column-menu

+0

답해 주셔서 감사합니다. 그것은 효과가 있었다. 그러나 열을 비활성화하면 다른 열의 크기가 우연히 조정됩니다. 어떻게 해결할 수 있을까요? – user2439903

+0

크기 조정은 숨겨진 열로 남은 사용 가능한 공간을 차지하는 다른 열로 인해 발생합니다. 한 번 숨기면 모든 열에 새로운 너비를 설정하지 않고도이 작업을 수행 할 수 있는지 잘 모르겠습니다. –

+0

예,이 예에서는 http://jsfiddle.net/tmLmk/14/에서 열을 숨기 자마자 열이 축소되었습니다. 어떻게 이것이 막을 수 있습니까? – user2439903

0

는 AngularJS와에 검도 UI 그리드의 이름을 감안할 때 도움이 될 것입니다 , 이렇게 :

$scope.options.columns[3].hidden = true;