1

私は SlickGrid v2.1 を使用しており、データ ソースの値に基づいて、グリッドの作成時に css クラスをグリッドの行に追加したいと考えています。たとえば、次のコードがあるとします。

var data = [];

var columns = [
    {id: "title", name: "Title", field: "title", width: 120},
    {id: "duration", name: "Duration", field: "duration"}
]

... [data initialization] ...

grid = new Slick.Grid("#myGrid", data, columns, options); 

行の期間セル値が 99 に等しい場合、CSS クラス「テスト」を行に追加したいのですが、どうすればこれを行うことができますか? カスタム フォーマッタを期間列に追加してこれを実行しようとしましたが、グリッドのキャンバス メソッドにアクセスできません。

この件に関してウェブを検索しましたが、助けが見つかりませんでした。どんな助けでも大歓迎です!

よろしくお願いします

4

2 に答える 2

4

私は最終的にこれを行う正しい方法を得ました。ここで説明されているように、getItemMetadata を実装する必要があります: https://github.com/mleibman/SlickGrid/wiki/Providing-data-to-the-grid

コード:

       function getItemMetadata(row){
            if(data[row].duration === 99){
                return { 'cssClasses': 'test' }
            }
        }

よろしくお願いします

于 2012-11-10T11:21:16.457 に答える
0

format 関数では、DOM コンポーネントを直接参照することで行を取得できます。

function YourFormatter(row, cell, value, columnDef, dataContext) {

    //JavaScript
    document.getElementsByClassName('ui-widget-content slick-row')[row].className += ' test';

    //jQuery
    //$('.ui-widget-content.slick-row').eq(row).addClass('test');

}
于 2012-11-09T01:36:08.590 に答える