CSVデータ

Q1
CSVDocumentのデータをページ単位で切り出す

A1
CSVDocumentの切り出しにはspliceメソッドを用います。

spliceメソッドにて行数を指定すると、指定行以降が新しいオブジェクト(返り値)に、残りの行が元のオブジェクトに残ります。
この特性を利用して、spliceの処理を2回行うことで任意のページのデータを取得することができます。
ただし、spliceメソッドを用いると元のCSVDocumentのデータが変わってしまうため、事前にコピーを取ってから行うことをお勧めします。


[サンプルコード]

CSVDocumentから10行単位の2ページ目のデータ(11〜20行目)を切り出して
Labelの配列に反映

Form Form1 {
    Width = 200;
    Height = 250;

    CSVDocument csv_data;
    Label Label1[10] {
        X = 5;
        Y = 10;
        Width = 180;
        Height = 20;
    }
    csv_data << CSV {
        "1",aaa
        "2",bbb
         :
        "24",zzz
    };

    if (!$DESIGNTIME) {
        var current_page = 2; /* 現在ページ */
        var page_per_rows = 10; /* 1ページの行数 */

        var csv_data_tmp = new CSVDocument;
        /* ここでCSVDocumentをコピー */
        csv_data_tmp << csv_data;
        /* 現在ページの開始行以降のデータを取得 */
        var csv_tmp = csv_data_tmp.splice((current_page-1)*page_per_rows);
        /* 現在ページの終了行以降のデータを切り捨て */
        csv_tmp.splice(page_per_rows);

        var i;
        for( i = 0; i < csv_tmp.rows; i++ ){
            Label1[i].Value = csv_tmp.getCell( i, 1 );
        }
    }
}
管理番号:CsvM_001
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ