17

グリッドの幅をパーセンテージで設定する方法を知っている人はいますか?

たとえば、ページではグリッドの幅が 2000 ピクセルを超えています。ページ幅に調整されません。

どんな助けでも大歓迎です。

ありがとうパドマナバン

4

5 に答える 5

25

この質問は本当に古いようですが、列がテーブルの全幅を占めるようにする方法を見つけようとしているときに、この質問に出くわしました。うまくいけば、それはいつか誰かを助けるでしょう。

列幅を明示的に設定する方法を理解できませんでしたが、暗黙的に機能させることができました。

これを行う方法は次のとおりです。

列宣言の最初に幅を追加します:300(または任意の幅)

{id:"name", name:"Student Name", field:"firstName", width: 300}

すべての列にこれを設定します。幅を広くしたい列には、500などの大きな数値を入力します。

次に、オプションのdeclationにforceFitColumnsを追加します:true

{enableCellNavigation: true, enableColumnReorder: false, forceFitColumns: true};

これを行うことで、テーブルの列にテーブルの残りのスペースを占有させ、必要な部分を相互に維持することができました。

于 2012-05-29T03:32:57.127 に答える
2

グリッドのサイズ変更を行う機能があります。

    function resizeGrid(newsize, grid) {
            $('#dataGrid').css('width', newsize);
            grid.resizeCanvas();
    }

forceFitColumns: true上記の conman が言うように、グリッド オプションに追加することを忘れないでください。

于 2014-03-12T09:10:41.730 に答える
0

参考までに、これは SlickGrid の最近のバージョンではそのまま使用できるようです。:)

于 2010-09-14T23:31:41.350 に答える
0

SlickGrid フォーマッターは 5 つのパラメーターを提供します。

formatter: function ( row, cell, value, columnDef, dataContext )

特定のフォーマッタ内などで dataContext パラメータを使用して列の幅を調整できますdataContext.width = 600。特定の列を 600px にします。

    {
        /* Categories */
        id: "categories",
        formatter: function ( row, cell, value, columnDef, dataContext ) {
            var html = '';

            if ( value.indexOf( 'variation-child' ) != -1 ) {
                return value;
            } else if ( value ) {
                for ( var i = 0; i < value.length; i++ ) {
                    if ( value[ i ] ) {
                        html += '<div class="box category-box" title="' + value[ i ] + '">' + value[ i ] + '</div>';
                    }
                }
            }

            columnDef.width = 600 * value.length;

            return html;
        },
        name: "Categories", field: "categories", sortable: true, editor: Slick.Editors.TaxonomyPopupEditor
    }

グリッドへのデータの追加が完了したら、必ず使用grid.resizeCanvas();(幅を再計算) してください。

于 2016-08-01T08:58:44.853 に答える