3

我有一个第一列冻结的网格。当我移动水平滚动时,网格标题中的这一列被冻结,但在网格的主体中,所有列都可以水平移动,第一列没有被冻结。我已经检查了我的代码一百次,这很好。我的项目中没有任何其他 css 或 javascript,它出现在 IE8、Firefox 和 Chrome 中。我正在使用最新版本的 jQgrid。

这是我的代码:

jQuery("#single").jqGrid({
                    数据:我的数据,
                    数据类型:“本地”,
                    height : 115, //定义 el alto total del listado
                    width : 650, //定义 el ancho total del listado
                    colNames : [ 'Index', 'Date', 'Code', 'Amount' ], //Nombres de las cabeceras de las columnas.
                    col型号:[{
                        name : 'item_id', // 道具名称 del modelo de datos
                        索引:'item_id',
                        宽度:100,
                        排序类型:'int',
                        居中对齐',
                        冻结:真
                    }, {
                        名称:'item_date',
                        索引:'item_date',
                        宽度:450,
                        格式化程序:'日期',
                        格式选项:{
                            新格式:'d/M/Y'
                        },
                        datefmt : 'd/M/Y',
                        居中对齐'

                    }, {
                        名称:'item_cd',
                        索引:'item_cd',
                        宽度:400
                    }, {
                        名称:'金额',
                        指数:'数量',
                        宽度:400,
                        formatter: "integer", //Define el Tipo de dato. 令人难以置信的 cuando queremos crear una celda de totales。
                        align: 'right', //Alineación del texto dentro de la celda。
                        编辑规则:{
                            编辑隐藏:真
                        },
                        编辑选项:{
                            /*禁用:'禁用',*/
                            大小:'10',
                            最大长度:'8',
                        }
                    }],
                    行数:10,
                    行总计:2000,
                    行列表:[5、10、20、30],
                    加载一次:真,
                    mtype:“获取”,
                    rownumbers : false, // Mostrar/ocultar el nº de fila.
                    rownumWidth : 40, // Ancho de la columna que muestra el nº de fila.
                    网格视图:是的,
                    pager : '#psingle', //Id de la capa que contiene el paginador.
                    sortname : 'item_id', // Columna inicial sobre la que realiza la ordenación. 初始化
                    viewrecords : true, // Muestra/Oculta el mensaje de: "Mostrando 1 de..."
                    排序顺序:“描述”,
                    编辑网址:'./listado.html',
                    标题:“Tabla de datos editables”,//Titulo del listado。
                    居中对齐',
                    //shrinkToFit : true,
                    footerrow : true, // Activa el pie del listado。令人难以置信的 si se quiere 可视化工具。
                    userDataOnFooter :是的,
                    编辑 : {
                        顶部:'100px',
                        左:'100px',
                        addCaption : "添加记录",
                        editCaption : "Modificar registro",
                        bSubmit : "Modificar",
                        bCancel : "取消",
                        bClos​​e : "塞拉尔",
                        saveData : "数据已更改!保存更改?",
                        b是:“是”,
                        bNo : "否",
                        b退出:“取消”
                    },
                });

                /* Botones de edición */
                jQuery("#single").jqGrid('navGrid', '#psingle', {
                    德尔:是的,
                    添加:是的,
                    编辑:真
                });

                /* Activa la funcionalidad de las columnas fijas. Se usa en combinación con el atributo "frozen:true"
                    en la columna。*/
                jQuery("#single").jqGrid('setFrozenColumns');
4

1 回答 1

0

问题的原因是setFrozenColumnsjqGrid 方法中的错误。如果在调用方法之前填充 jqGriddatatype : "local"或者在网格中已经填充了数据,setFrozenColumnssetFrozenColumns则该方法将不正确。作为解决方法,您可以包含该行

jQuery("#single").triggerHandler("jqGridAfterGridComplete");

之后直接 jQuery("#single").jqGrid('setFrozenColumns');。我多次描述了这个问题。在此处发布后,该错误已在github上的 jqGrid 代码中修复(请参阅此处的修复)。因此,如果您将使用新版本的 jqGrid(与当前 4.5.2 相比更高的版本),您可以稍后删除该行。

于 2013-09-26T11:11:03.180 回答