2015-01-19 6 views
0

안녕하세요, 데이터 격자에 열 이름을 숨기고 사용자가 볼 수 없도록 일부 내부 함수에 사용하고 싶습니다. 예 : 롤 번호 필드를 숨기고 싶습니다. 도와주세요. 나는 내가해야 할 일을 설명하기에 충분하다고 생각한다. 도와주세요. 미리 감사드립니다.DOJO의 DataGrid 열 숨기기

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
      pageEncoding="ISO-8859-1" 
     %> 
<!DOCTYPE html> 
<html> 
<head> 
<script> 

function onReportTypesSelect() 
{ 
    if(getDijitValue('data_types') != 'Select') 
     { 

     if(getDijitValue('data_types') == 'class_level') 
     { 
      require([ 
         "dojo/store/JsonRest", 
         "dojo/store/Memory", 
         "dojo/store/Cache", 
         "dojox/grid/DataGrid", 
         "dojo/data/ObjectStore", 
         "dojo/query", 
         "dojo/domReady!" 

        ], function(JsonRest, Memory, Cache, DataGrid, ObjectStore, query){ 
         var userStore, dataStore, grid; 
         userStore = new Cache(JsonRest({target: "<%=request.getContextPath()%>" + "/data/classServlet"}), new Memory()); 
         grid = new DataGrid({ 
          id:"class_level_grid", 
          store: dataStore = new ObjectStore({objectStore: userStore}), 
          structure: [ 
             {name: 'Roll Number', field: 'roll', width: 'auto', defaultValue: ""}, 
             {name: 'Name', field: 'name', width: '100px', defaultValue: ""}, 
             {name: 'Class', field: 'class', width: '75px', defaultValue: ""} 
          ], 
         style:"font-family: calibri, Garamond, Comic Sans; font-size: 10;", 
         selectionMode:'single', 
         autoHeight: 10, 
         rowsPerPage:40, 
         rowSelector:'20px', 
         selectable: true 
         } 

         , "class_level_grid_div"); // make sure you have a target HTML element with this id 
         grid.startup(); 

        }); 

     } 
} 
} 
</script> 
</head>`enter code here` 
<body> 
<div id="data_types" data-dojo-type="dijit/form/Select" style="width: 200px;" onchange="onReportTypesSelect()"> 
        <span data-dojo-value="Select"><b>Select</b></span> 
        <span data-dojo-value="class_level"><b>class Level</b></span> 
</div> 
<div id="class_level_grid_div" style="width: 95%; height: 90%;"> </div> 
</div> 
</body> 
</html> 

답변

1

먼저, 열 id 지정 : 숨기거나 열에게 솔루션을 표시하려는 경우

{name: 'Roll Number', id: 'rollNum', field: 'roll', width: 'auto', defaultValue: ""}, 

은 다음과 같습니다

// to hide column with id="rollNum" 
grid.styleColumn("rollNum", "display: none;"); 

// to show it 
grid.styleColumn("rollNum", "display: table-cell;"); 
+2

감사합니다. !! !! 다른 이름 : {이름 : 'Roll Number', 필드 : 'roll', 너비 : 'auto', defaultValue : "", hidden : true} – bhanuj

1

그 아래 코드를 찾아주세요 아주 간단합니다. 열 구조에 "hidden : true"를 추가하기 만하면됩니다.

구조 : [ {이름 : '롤 번호'필드 '롤', 폭 : '자동', DEFAULTVALUE "", 숨겨진 : 사실}, {이름 : '이름'필드 : 'name', width : '100px', defaultValue : ''}, {name : '클래스', 필드 : '클래스', 너비 : '75px', defaultValue : ''} ],