SMART datagrid v.1 > Examples

Back  Forward

Set RowCount  Example  準備中...

rowCountを設定してデータセットのサイズを先に決めるごとができる。 この時追加される行の値たちを空にして置くことができる。 つまり、GridDataSetの行は実際の値が存在しないこともあり、 rowCountを指定した後適切な時点でupdateRowupdateRowsで空いた行達の値を満たせる。 

setRowCountを利用すれば大容量のデータやネットワークの帯域幅が狭い場合などで適切なUIを具現することができる。 各行に実際に値を初期化したか否かはhasDataメソッドで確認できる。 下の例題では空いた行の数を5に設定して、 0,2,4行達だけDataSet.updateRowの呼び出しで値を満たす。 

Grid - 1
rows

選択された行の値が初期化されたか否か確認する。 

Code -1
    btnCheckRow_click: function () {
        var row = grdMain.focusedDataRowIndex();
        if (row >= 0) {
            alert(dsMain.hasData(row) ? '値あり' : '値なし');
        }
    }

GridDataSetのコールの時初期の値と行の状態を指定できる。 下のグリッドでは設定によってrowCountを2行ずつ増やす。 


Grid - 2
rows

setRowCountfillDefaultsdefaultValuesがすべて指定され、 defaultValuesに該当するフィールドの値がundefinedでないとフィールドの基本値の代わりに defautlValuesの値で初期化される。 

下のサンプルではrowCountを先に1000に設定した後setTimeoutを利用して非同期的に 5行ずつ値を満たす。 

Code -2
    btnRun_click: function () {
        dsMain3.setRowCount(1000);
        for (var i = 0; i < 200; i++) {
            (function (start) {
                setTimeout(function () {
                    var rows = [];
                    for (var r = 0; r < 5; r++) {
                        rows.push(['aaa', 'bbb', start + r, 'ccc']);
                    }
                    dsMain3.updateRows(start, rows);
                }, Math.random() * 10000);
            })(i * 5);
        }
    }
Grid - 3
rows

ソースを見る JSP 

See Also
setRowCount
clearRows
updateRow
updateRows
onRowCountChanged