【问题标题】:jqGrid error in frozen columns冻结列中的 jqGrid 错误
【发布时间】:2013-10-02 06:51:37
【问题描述】:

我有一个第一列冻结的网格。当我移动水平滚动时,网格标题中的这一列被冻结,但在网格的主体中,所有列都可以水平移动,第一列没有被冻结。我已经检查了我的代码一百次,这很好。我的项目中没有任何其他 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');

【问题讨论】:

    标签: jquery css jqgrid


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢!!!!我一直在寻找解决此问题的方法,但从未找到此答案,我对此感到非常担心。真诚的,非常感谢你。
    • @cescari:不客气!顺便说一句,同样的问题存在很久了,但是之前必须调用_complete 函数(参见the answer,它已经快两年了)。如果问题现在解决了并且jQuery("#single").triggerHandler("jqGridAfterGridComplete") 解决了问题,您可以"accept" 回答。
    • 在 jqGrid 中是否有可能将最后一列作为冻结列? @Oleg
    • 这是问题链接。很抱歉在此处发布该问题链接。 stackoverflow.com/questions/27549268/…@Oleg
    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    相关资源
    最近更新 更多