2

JSONRest ストアで OnDemandGrid virtuall スクロールを使用しています。

         require([
        "dojo/request",
        "dojo/store/Memory",
        "dgrid/OnDemandGrid",
        "dojo/store/JsonRest"
                    ], function (request, Memory, OnDemandGrid,JsonRest) {

            var jsonstore = new JsonRest({target: url , idProperty: "id"});

            // Create an instance of OnDemandGrid referencing the store
            var grid = new OnDemandGrid({

                store: jsonstore,
                columns: Layout,
                minRowsPerPage : 40,
                maxRowsPerPage : 40,
                loadingMessage: "Loading data...",
                noDataMessage: "No results found."
            }, "grid");

            grid.startup();

    });

セルのrowIndexを取得する方法がわかりません。行インデックスを見つける方法を教えてもらえますか?

4

1 に答える 1

1

SelectiondGrid が提供する mixinを使用すると、探しているものが見つかる場合があります。を使用するSelectionと、次のようにグリッドを定義できます。

            grid = new (declare([OnDemandGrid, Selection]))({
                store: Observable(Memory({ // replace with your store of choice
                    idProperty: 'id'
                })),
                columns: { /* your columns layout */ },
                noDataMessage: 'No results found.',
                loadingMessage: 'Loading data...'
            });
            grid.startup();

renderCell列オブジェクトでは、次のように呼び出される関数を使用する列を定義できます。

            renderCell: function (object, value, node, options) {
                // Object is the row; i.e., object's properties are the column names
                // value is the value for this cell 
                // node is the DOM node of this cell
                // Not sure what 'options' refers to
            }

行が選択されている場合、grid.selectionプロパティを使用して行を取得できます。これは、( に基づくidProperty) ID がキーであるキーと値のペアを含むオブジェクトです。各キーの値には、特定の行が選択されているかどうかを示すブール値が含まれています。したがって、選択した各行を取得するには、次のようにすることができます。

            for (selectedId in selection) {
                if (selection.hasOwnProperty(selectedId) && selection[selectedId] === true) {
                    var selectedRow = grid.row(selection[selectedId];

                    ... // and so on...
                }
            }

これは特に行インデックスを提供しませんが、ブラウザーの開発ツール (Firefox の Firebug など) を使用して、ここから把握できる場合があります。

于 2013-07-29T15:23:27.387 に答える