在 DOJO 中隐藏数据网格的列
Hiding column of datagrid in DOJO
您好,我想在数据网格中隐藏一个列名,并想将它用于某些内部功能,这样用户就看不到它。
例如我想隐藏卷号字段,请帮助我。我希望问题足以解释我需要做的工作。
请帮我解决一下这个。提前致谢!
请找到以下代码:
<%@ 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>
首先,分配您的列 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;");
很简单。只需将 "hidden: true" 添加到列结构中即可。
结构:[
{名称:'Roll Number',字段:'roll',宽度:'auto',默认值:“”,隐藏:真},
{名称:'Name',字段:'name',宽度:'100px',默认值:“”},
{名称:'Class',字段:'class',宽度:'75px',默认值:“”}
],
您好,我想在数据网格中隐藏一个列名,并想将它用于某些内部功能,这样用户就看不到它。 例如我想隐藏卷号字段,请帮助我。我希望问题足以解释我需要做的工作。 请帮我解决一下这个。提前致谢! 请找到以下代码:
<%@ 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>
首先,分配您的列 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;");
很简单。只需将 "hidden: true" 添加到列结构中即可。
结构:[ {名称:'Roll Number',字段:'roll',宽度:'auto',默认值:“”,隐藏:真}, {名称:'Name',字段:'name',宽度:'100px',默认值:“”}, {名称:'Class',字段:'class',宽度:'75px',默认值:“”} ],