【问题标题】:Is it possible to store values of dgrid store in some variable or print in console是否可以将 dgrid 存储的值存储在某个变量中或在控制台中打印
【发布时间】:2015-08-06 07:26:18
【问题描述】:

我正在使用 dgrid 存储来显示网格 (dgrid 0.4)。这是我的代码

require([
    'dojo/_base/declare',
    'dojo/Deferred',
    'dstore/RequestMemory',
    'dstore/QueryResults',
    'dstore/Trackable',
    'dgrid/Grid',
    'dgrid/Selection',
    'dgrid/extensions/Pagination',
    'dgrid/extensions/DijitRegistry',
    'dgrid/extensions/DnD',
    'dgrid/Keyboard',
    'dgrid/Editor',
    'dgrid/extensions/ColumnHider',
    'dgrid/extensions/ColumnResizer',
    'dgrid/Selector',
    'dojo/_base/array'
      ], function (declare, Deferred, RequestMemory, QueryResults, Trackable, Grid, Selection, Pagination, DijitRegistry, DnD, Keyboard, Editor, ColumnHider, ColumnResizer, Selector, array) {

    var grid = new (declare([Grid, Trackable, Selection, Pagination, DijitRegistry, DnD, Keyboard, Editor, ColumnHider, ColumnResizer]))({
            collection: store,
      //    items: store.items,
      //    query: {PRID: '*'},
            columns: getColumns(),
      //    className: 'dgrid-autoheight',
            pagingLinks: 1,
            rowsPerPage: 10,
            pagingTextBox: true,
            firstLastArrows: true,
            pageSizeOptions: [10, 15, 20,25],
            loadingMessage: 'Loading data...',
            noDataMessage: 'No results found.',
        }, 'grid');
        //grid.renderArray(data);
        alert(store);
        grid.startup();
        alert(store);
        });

我想知道是否可以将网格的值存储在某个变量中,或者有没有办法在控制台中显示整个网格或在 console.log 中打印。 我试图提醒商店,但它显示对象。有没有办法获取该对象并将其存储在对象数组中?

【问题讨论】:

    标签: javascript json dojo dgrid


    【解决方案1】:

    如果您只是询问如何读取商店中的所有商品,最简单的方法是这样的:

    store.forEach(function (item) {
        console.log(item);
    });
    

    请注意,这会隐式地从存储中获取所有项目,这对于内存存储来说很好(因为它们已经在您获取之前加载了所有数据),但您可能不想这样做例如RequestRest 具有大型数据集。

    如果您只想访问当前在网格中呈现的项目,那么实际上并没有具体的方法来实现它,但您可以这样做(其中 querydojo/query) :

    var rows = query('.dgrid-row', grid.contentNode);
    var length = rows.length;
    for (var i = 0; i < length; i++) {
        console.log(grid.row(rows[i]).data);
    }
    

    【讨论】:

      【解决方案2】:

      我不熟悉您正在使用的商店,但按照 Ken 的说法,您可以使用 console.table(data) 来避免循环并获得更好的格式。有些商店你可以做类似console.table(store.query());的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多