CodeZine(コードジン)

特集ページ一覧

Curlで構築する長崎電子県庁システム(DBメンテナンスツール)
データ表示パフォーマンスの向上

第2回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

解決方法

 実際に試したのは、「TabContainer」を使った分割表示と「RecordGrid」を使用した表示です。

1.TabContainerを使用して表示

 Curlにはタブレイアウトができる「TabContainer」があります。これを使って入力項目を分けて表示すれば、一度に表示する項目が減るので少し速くなるはずです。

TabContainerを使用した画面
TabContainerを使用した画面
TabContainerのロジック
{TabContainer
    {TabPane height=200pt,width=200pt,
        {text font-size = 28pt, 1}
    },
    {TabPane
        {text font-size = 28pt, 2}
    },
    {TabPane
        {text font-size = 28pt, 3}
    }
}

 TabContainerを使い、入力画面を次のように項目ごとにタブ表示しました。

DBメンテナンスツールでTabContainerを使用した画面
DBメンテナンスツールでTabContainerを使用した画面

 100あるカラムを20くらいずつに分けて表示したところ、確かにレスポンスは良くなりました。しかし、テーブルカラムの分類が必ず20カラム以下になるとは限りません。そこで、次に「RecordGrid」を試すことにしました。

2.RecordGridを使用して表示

 RecordGridは、テキストだけでなくチェックボックスやテキストボックスなどのコントロールを表示できます。

 RecordGridは、画面に表示されているものだけが描画されます。例えば1000件をグリッドにセットしても、実際に描画されるのは数十件程度のデータである場合が多いです。RecordGridを使って表示するデータ量を減らすことで、結果的に表示速度を速めることができるというわけです。

 ちなみに、スクロールするたびに再描画が必要となるという面もありますが、それで極端にレスポンスが落ちることもありません。

RecordGridを使用した画面
RecordGridを使用した画面

 RecordGridとTabContainerを併用して表示したところ、1秒以下で入力画面が表示されるようになりました(※Tableの時と外見は変わっていませんが、RecordGridを使用しています)。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Curlで構築する長崎電子県庁システム(DBメンテナンスツール編)

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5