Hidden Columns in jqGrid

前端 未结 7 1852
不思量自难忘°
不思量自难忘° 2020-12-12 18:20

Is there any way to hide a column in a jqGrid table, but have it show as read-only when the row is edited in the form editor modal dialog?

相关标签:
7条回答
  • 2020-12-12 18:48

    I just want to expand on queen3's suggestion, applying the following does the trick:

    editoptions: { 
                  dataInit: function(element) { 
                              $(element).attr("readonly", "readonly"); 
                            } 
                 }
    

    Scenario #1:

    • Field must be visible in the grid
    • Field must be visible in the form
    • Field must be read-only

    Solution:

    colModel:[
            {  name:'providerUserId',
                   index:'providerUserId', 
                   width:100,editable:true, 
                   editrules:{required:true}, 
                   editoptions:{ 
                                dataInit: function(element) { 
                                      jq(element).attr("readonly", "readonly"); 
                                 } 
                               }
                },
    ],
    

    The providerUserId is visible in the grid and visible when editing the form. But you cannot edit the contents.


    Scenario #2:

    • Field must not be visible in the grid
    • Field must be visible in the form
    • Field must be read-only

    Solution:

    colModel:[
               {name:'providerUserId',
                index:'providerUserId', 
                width:100,editable:true, 
                editrules:{
                             required:true, 
                             edithidden:true
                          },
                hidden:true, 
                editoptions:{ 
                      dataInit: function(element) {                     
                                 jq(element).attr("readonly", "readonly"); 
                              } 
                         }
             },
            ]
    

    Notice in both instances I'm using jq to reference jquery, instead of the usual $. In my HTML I have the following script to modify the variable used by jQuery:

    <script type="text/javascript">
        var jq = jQuery.noConflict();
    </script>
    
    0 讨论(0)
提交回复
热议问题