加载网格后,jqgrid将单元格输入更改为只读 [英] jqgrid change cell input to readonly after grid loaded

查看:391
本文介绍了加载网格后,jqgrid将单元格输入更改为只读的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在加载所有网格数据后如何将单元格输入更改为只读"?

how can i change cell input to "readonly" after i loaded all grid's data?

当添加新行时,我只希望已加载的行将此单元格设置为readonly.

I want only the loaded rows to have this cell as readonly , when i add new rows i don't want this cell to be readonly.

感谢提前.

更新:

这是我的代码:

$("#Grid1").jqGrid(
        {
            editurl: "clientArray",
            datatype: 'xmlstring',
            datastr: '<%=_xml_string %>' ,
            colNames:['','cell1','cell2', 'cell3'],
            colModel:[
                                        {name:'cell1',index:'cell1', hidden: true},
                                        {name:'cell2',index:'cell2', width:150, editable:true, edittype:'text',sorttype:"int" ,
                                            editoptions:
                                            {                                               
                                                maxlength:5,
                                                dataInit: function (elem)
                                                {
                                                    $(elem).numeric(false);

                                                    $(elem).blur(function(event_)
                                                    {

                                                    });
                                                },
                                              dataEvents:
                                              [
                                                {
                                                    type: 'keydown',
                                                    fn: function(e)
                                                    {
                                                        var key = e.charCode || e.keyCode;
                                                        if(key == 113)
                                                        {
                                                        }
                                                    }
                                                }
                                            ]
                                            }                                                
                                        },
                                        {name:'cell3',index:'cell3', width:150 , editable:true,sorttype:"text" ,
                                          editoptions:
                                          {
                                            readonly: 'readonly' ,
                                            dataInit: function (elem)
                                            {
                                                  $(elem).attr("tabindex","-1");                                                      
                                            }                                                
                                          }
                                        }
                                  ],
            height: '120px' ,
            autowidth: true,
            shrinkToFit: false,

            beforeSelectRow: function(rowid, e)
            {
               if (required_field != rowid && required_field!="")  return false;
                else
                {
                    if( $(this).getGridParam('selrow') == rowid)
                        return false;
                    else
                        return true;
                }
            },
            onSelectRow: function(id)
            {                                        
                save_row(lastSel);
                get_grid().editRow(id,false,'','','','','','','');
                jQuery ('#' + id + _cell2').focus();
                lastSel=id;                    
            },
            loadComplete: function()
            {
                var grid = $("#Grid1");
                var ids = grid.jqGrid('getDataIDs');
                for (var i=0;i<ids.length;i++)
                {
                    var id_=ids[i];alert(id_);
                    grid.jqGrid('setCell',id_,'cell2','','not-editable-cell');
                }
            }
          });              

推荐答案

如果使用某种编辑模式来编辑网格,则可以随时在单元格上设置"not-editable-cell"或"not-editable-row"在该行上,以防止该单元格或该行是可编辑的.请参阅此答案代码示例.

If you use some editing mode to edit the grid you can set any time 'not-editable-cell' on the cell or 'not-editable-row' on the row to prevent the cell or the row be editable. See this answer for the code example.

这篇关于加载网格后,jqgrid将单元格输入更改为只读的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆