3

最初の列が固定されたグリッドがあります。水平スクロールを移動すると、グリッドのヘッダーのこの列が固定されますが、グリッドの本体では、すべての列を水平に移動できますが、最初の列は固定されていません。私は自分のコードを何百回も見直しましたが、問題ありません。私のプロジェクトには他の CSS や JavaScript はありません。IE8、Firefox、および Chrome で発生します。jQgrid の最新バージョンを使用しています。

これが私のコードです:

jQuery("#single").jqGrid({
                    データ:マイデータ、
                    データ型:「ローカル」、
                    height : 115, //Define el alto total del listado
                    width : 650, //define el ancho total del listado
                    colNames : [ 'Index', 'Date', 'Code', 'Amount' ], //Nombres de las cabeceras de las columnas.
                    colModel : [ {
                        name : 'item_id', // Prop. name del modelo de datos
                        インデックス: 'item_id',
                        幅 : 100,
                        sorttype : 'int',
                        整列: '中央',
                        凍結:真
                    }、{
                        名前: 'item_date',
                        インデックス: 'item_date',
                        幅:450、
                        フォーマッタ:「日付」、
                        フォーマットオプション: {
                            newformat : 'd/M/Y'
                        }、
                        datefmt : 'd/M/Y',
                        整列:「中央」

                    }、{
                        名前: 'item_cd',
                        インデックス: 'item_cd',
                        幅 : 400
                    }、{
                        名前:「金額」、
                        インデックス:「金額」、
                        幅:400、
                        formatter: "integer", //Define el tipo de dato. 不可思議なcuando queremos cear una celda de totales.
                        align: 'right', //Alineación del texto dentro de la celda.
                        編集規則: {
                            edithidden : 真
                        }、
                        編集オプション: {
                            /*無効: '無効',*/
                            サイズ : '10',
                            最大長 : '8',
                        }
                    } ]、
                    行数: 10,
                    行合計: 2000、
                    行リスト: [5, 10, 20, 30],
                    ロードワンス:真、
                    mtype : "GET",
                    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..."
                    sortorder : "desc",
                    editurl : './listado.html',
                    caption : "Tabla de datos editables", //Titulo del listado.
                    整列: '中央',
                    //shrinkToFit : true,
                    footerrow : true, // Activa el pie del listado. 不可思議な si se quiere visualizar.
                    userDataOnFooter : 真、
                    編集 : {
                        上:「100px」、
                        左:「100px」、
                        addCaption : "レコードを追加",
                        editCaption : "変更登録簿",
                        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. 「frozen:true」の組み合わせを参照してください
                    en la columna. */
                jQuery("#single").jqGrid('setFrozenColumns');
4

1 に答える 1

0

この問題の原因は、setFrozenColumnsjqGrid のメソッドのバグです。jqGrid から入力した場合、またはメソッドの呼び出しが正しく動作する前にdatatype : "local"グリッドが既にデータで入力されている場合。setFrozenColumnssetFrozenColumns回避策として、次の行を含めることができます

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

直後 jQuery("#single").jqGrid('setFrozenColumns');。問題を何度も説明しました。ここに投稿した後、githubの jqGrid のコードでバグが修正されました(ここの修正を参照)。そのため、新しいバージョンの jqGrid (現在の 4.5.2 より高いバージョン) を使用する場合は、後で行を削除できます。

于 2013-09-26T11:11:03.180 に答える