jqgrid-JqGrid 如何如何隐藏列

问题描述

JqGrid 如何如何隐藏列

第一次使用JqGrid 想把代码里的某些列隐藏,但是一直没成功:

 <script type="text/javascript">

    $(document).ready(function () {
        $("#companyInstructionList").jqGrid({
            url: '@Url.Action("GetCompanyInstructionList", "Admin", null)',
            datatype: 'json',
            myType: 'GET',
            ajaxGridOptions: { cache: false },
            colNames: ['Company Name', 'Work Instruction Source', 'IKS Display Option', 'Template Option', 'KM Source', 'SMKM UserName', 'SMKM Password', 'EnableIKSServiceCIMapping', 'EnableIKSServiceCIMappingWarning'],
            colModel: [
                          {
                              name: 'CompanyName', index: 'CompanyName', label: 'CompanyName', width: 100, align: 'left', search: true, sortable: false, editable: true , editoptions: {
                                  dataInit: function (element) {
                                      element.disabled = true;
                                  }
                              }
                          },
                          { name: 'WorkInstructionSource', index: 'WorkInstructionSource', label: 'WorkInstructionSource', width: 150, align: 'left', search: false, sortable: false, editable: true, edittype: 'select', stype: 'select', editoptions: { value: "IKS:IKS;SM:SM" } },
                          { name: 'KMDisplayOption', index: 'KMDisplayOption', label: 'KMDisplayOption', width: 100, align: 'left', search: false, sortable: false, editable: true, edittype: 'select', stype: 'select', editoptions: { value: "Directly_Open:Directly_Open;Render:Render" } },
                          { name: 'TemplateOption', index: 'TemplateOption', label: 'TemplateOption', width: 100, align: 'left', search: false, sortable: false, editable: true, edittype: 'select', stype: 'select', editoptions: { value: "Regular:Regular;PG:PG" } },
                          { name: 'KMSource', index: 'KMSource', label: 'KM Source', width: 90, align: 'left', search: false, sortable: false, editable: true, edittype: 'select', stype: 'select', editoptions: { value: "IKS:IKS;SM:SM" } },
                          { name: 'SMKMUserName', index: 'SMKMUserName', label: 'SMKM UserName', width: 120, align: 'left', search: false, sortable: false, editable: true, edittype: 'text' },
                          { name: 'SMKMPassword', index: 'SMKMPassword', label: 'SMKM Password', width: 120, align: 'left', search: false, sortable: false, editable: true, edittype: 'text' },
                          { name: 'EnableIKSServiceCIMapping', index: 'EnableIKSServiceCIMapping', label: 'EnableIKSServiceCIMapping', width: 150, align: 'left', search: false, sortable: false, editable: true, edittype: "checkbox", editoptions: { value: "Yes:No" } },
                          { name: 'EnableIKSServiceCIMappingWarning', index: 'EnableIKSServiceCIMappingWarning', label: 'EnableIKSServiceCIMappingWarning', width: 150, align: 'left', search: false, sortable: false, editable: true, edittype: "checkbox", editoptions: { value: "Yes:No" } }
            ],
            jsonReader: { repeatitems: false },
            viewrecords: true,
            rowNum: 30,
            rowList: [30, 40, 50],
            pager: '#companyInstructionListPager',
            loadonce: false,
            shrinkToFit: false,
            height: 'auto',
            width:800,
            hidegrid: false,
            ignoreCase: true,
            caption: 'Configure Company',
            ondblClickRow: function (rowid, iRow, iCol, e) {

                showEditForm(rowid);

            }
        });
        $("#companyInstructionList").jqGrid('navGrid', '#companyInstructionListPager', { edit: false, add: false, del: false, search: false }, {});
        //auto height and set max-height
        $("#companyInstructionList").parents('div.ui-jqgrid-bdiv').css("max-height", "300px");
    });

    $("#editBtn").button().click(function () {
        var gr = jQuery("#companyInstructionList").jqGrid('getGridParam', 'selrow');
        if (gr != null) showEditForm(gr);
        else alert("Please select a record!");
    });

    function showEditForm(gr) {
        var rowData = $("#companyInstructionList").getRowData(gr);
        var companyName = rowData['CompanyName'];
        var workInstructionSource = rowData['WorkInstructionSource'];
        var KMDisplayOption = rowData['KMDisplayOption'];
        var TemplateOption = rowData['TemplateOption'];
        var KMSource = rowData['KM Source'];
        var SMKMUserName = rowData['SMKM UserName'];
        var SMKMPassword = rowData['SMKM Password'];
        var EnableIKSServiceCIMapping = rowData['EnableIKSServiceCIMapping'];
        var EnableIKSServiceCIMappingWarning = rowData['EnableIKSServiceCIMappingWarning'];

        @*jQuery("#companyInstructionList").jqGrid('editGridRow', gr, {
            height: 270, width: 470, resize: false, reloadAfterSubmit: true, closeAfterEdit: true, closeAfterAdd: true, url: '@Url.Action("ConfigureCompanyInstruction", "Admin")' + '?companyName=' + companyName + '&workInstructionSource=' + workInstructionSource + '&kmDisplayOption=' + KMDisplayOption + '&templateOption=' + TemplateOption
        });*@

        jQuery("#companyInstructionList").jqGrid('navGrid', 'hideCol', SMKMUserName);

        jQuery("#companyInstructionList").jqGrid('editGridRow', gr, {
            height: 350, width: 470, resize: false, reloadAfterSubmit: true, closeAfterEdit: true, closeAfterAdd: true, url: '@Url.Action("ConfigureCompanyInstruction", "Admin")',
            extraparam: {
                'companyName': companyName, 'workInstructionSource': workInstructionSource,
                'kmDisplayOption': KMDisplayOption, 'templateOption': TemplateOption,
                'kmSource': KMSource, 'smKMUserName': SMKMUserName, 'smKMPassword': SMKMPassword,
                'enableIKSServiceCIMapping': EnableIKSServiceCIMapping, 'enableIKSServiceCIMappingWarning': EnableIKSServiceCIMappingWarning

            }

        });

    }

    function labelEditFunc(value, opt) {
        return "<span>" + value + "</span>";
    }

    function getLabelValue(e, action, textvalue) {
        if (action == 'get') return e[0].innerHTML;
        else if (action == 'set') $(e).html(textvalue);
    }

</script>

比如KMSource如果为1 就隐藏SMKMUserName列

解决方案

colModel里对某列设置这两个bool属性
hidedlg 是否显示或者隐藏此列
hidden 在初始化表格时是否要隐藏此列

解决方案二:

你是现在编辑的时候隐藏某些列吧。。参考:jqGrid限制某些列只有在特定条件下才能编辑

时间: 2024-10-12 07:19:52

jqgrid-JqGrid 如何如何隐藏列的相关文章

gridview 隐藏列取值

在用gridview时候,有时候想把其中一列隐藏,但是还想给他赋值或取值,但是如果visible 设置隐藏的话,   后台无法取值. 列的隐藏方式很多,都可以不影响取值,赋值. 1.protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)   {   //用CSS 隐藏列    e.Row.Cells[3].Style.Add( "display ", "none ")

如何在DataGrid控件中隐藏列

datagrid|datagrid控件 如何在DataGrid控件中隐藏列前言:    asp.net在提供我们丰富的内置控件方便我们开发的同时,一些格式化的东西也限制了我们灵活的要求.在DataGrid控件中,我们遇到的一个非常典型的问题就是如何把我们不想显示的列根据需要随时隐藏掉.解决方案:    我们不能隐藏在DataGrid里自动生成列的主要的一点原因是:DataGrid里的column不能被DataGrid的属性DataGridColumn增加.    基于以上原因,我们可以提出两种不

ASP.NET 2.0中GridView控件的隐藏列的问题

Asp.net 2.0 GridView隐藏列visible="false" 后你就无法取得这列的值了, 而用datagrid就没有这个问题, MS这个混蛋老是改变游戏规则, 幸好我聪明, 在百度上搜到了别人的解决方法, 然后加入了自己的方法, 才解决问题: protected void GVList_RowDataBound(object sender, GridViewRowEventArgs e) { //隐藏不必要的列 if ((e.Row.RowType == DataCon

asp.net 获取Gridview隐藏列的值_实用技巧

在Gridview 的 RowCreated事件中书写如下代码: 复制代码 代码如下: void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header) { //隐藏第1列 e.Row.Cells[0].Visible = false; //

extjs4-急~~~~ExtJs Cookie操作---针对不同用户保留客户显示/隐藏列习惯

问题描述 急~~~~ExtJs Cookie操作---针对不同用户保留客户显示/隐藏列习惯 我做了个页面 grid表格显示 表格头上面又三个按钮 点击按钮分别显示不用的表格数据[显示所有问题],[我的问题],[我的未解决问题] 默认是显示我的问题 我用设置Cookie,但是只是针对[我的问题]页面有效,当点击其他任何按钮时,有没效果了~! 请高手解答!!! ExtJS版本 4.2

求助--GridView设置了分页之后RowCreated隐藏列出错

问题描述 GridView设置了分页之后RowCreated隐藏列出错,且点击分页的时候,执行了RowCommand的代码,已设置按钮的name而且加了判断,为什么还会这样呢?,代码如下,新人跪求指导!JS:<title>DHD</title></head><body><formid="form1"runat="server"><divid="DHDsetting"runat=&q

java-jquery datatable隐藏列问题

问题描述 jquery datatable隐藏列问题 "iScrollLoadGap":2, "bAutoWidth":true, "bDeferRender":false, //"aoColumnDefs":, //"sScrollY":"100%", //延迟加载 //"iDeferLoading":5, "sZeroRecords": &qu

table导成隐藏列excel

问题描述 table导成隐藏列excel 比如这个table,我想导出excel文件的时候,让红框出来的列是隐藏的,怎么实现 解决方案 隐藏table的列页面上table导成EXCEL 解决方案二: 不太明白你什么意思,如果想要页面的列隐藏 可以在事件触发的时候 reload下,设置为隐藏

gridview 如何通过一个按钮实现隐藏列,显示列的功能且能够通过程序取到隐藏后列的值

问题描述 大家好,请问在一个gridview中,如何实现以下操作?增加一个按钮,点击后能够隐藏gridview中的某些列,再次点击后又恢复显示.并且有一段代码,能够在取到隐藏列的值?谢谢! 解决方案 解决方案二:把列宽设为0不就行了,取值什么的都不影响.或者用表样式,点按钮的时候隐藏就去掉表样式里的列样式,显示就添加列样式,这样也不会影响对表进行取值的.