【问题标题】:Hiding column of datagrid in DOJO在 DOJO 中隐藏数据网格的列
【发布时间】:2015-01-19 11:41:56
【问题描述】:

您好,我想在数据网格中隐藏一个列名,并希望将其用于某些内部功能,以便用户看不到它。 例如我想隐藏卷号字段,请帮我这样做。我希望问题足以解释我需要做的工作。 请帮我解决一下这个。提前致谢! 请找到下面的代码:

 <%@ 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>

【问题讨论】:

    标签: javascript dojo dojox.grid.datagrid dojox.grid


    【解决方案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;");
    

    【讨论】:

    • 非常感谢!!我找到了另一个解决方案:{name: 'Roll Number', field: 'roll', width: 'auto', defaultValue: "" ,hidden: true}
    【解决方案2】:

    它非常简单。只需在列结构中添加“hidden: true”即可。

    结构:[ {name: 'Roll Number', field: 'roll', width: 'auto', defaultValue: "", hidden: true}, {名称:'名称',字段:'名称',宽度:'100px',默认值:“”}, {名称:'类',字段:'类',宽度:'75px',默认值:“”} ],

    【讨论】:

      猜你喜欢
      • 2013-09-11
      • 2023-01-17
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多