|
|
第9回 Webページにきれいで多機能なテーブルを表示させる
前回に続いてGoogle Visualization APIを使ったプログラムです。Visualization APIは,通常のHTMLだけでは作成が困難なビジュアルを簡単に作成できるJavaScriptライブラリです。今回はきれいで高機能なテーブルの作り方を解説します。 Visualization APIの公式ドキュメントは執筆時点では英文のものしか公開されていません。ただし英文そのものは難しくないので,ある程度のスキルを持ったプログラマであれば十分に読破できると思います。 早速基本形になるテーブルを作ってみることにしましょう。比較のために通常のHTMLで作成した同等のテーブルも併せて実装しておきます(リスト1)。作成したHTMLはローカルPC上でも動作します。デスクトップなどに保存してダブルクリックするとWebブラウザに表示されます。ただしgoogle.comから必要なモジュールを読み込む関係で,インターネットに接続している必要があります。
リスト1●Google Visualization APIでテーブルを作成するサンプル。比較のために通常のHTMLで同等のテーブルを作成した
ある町内会で祭礼に寄付してくれた企業名と金額を記録した表というイメージです(図1)。上部がGoogle Visualization APIを使ったテーブルで,下の方がHTMLで作成したテーブルになっています。HTMLそのものが簡略書式であったり,HTML側は境界線の表示にborder=という古いHTMLプロパティを使っていますが,ここは不問としてください。 まず第一印象としてVisualization APIの方がデザインとしてスッキリと洗練されているイメージです。もちろんここは単純比較は難しくて,HTML側にはCSSという装飾手段が残っていますから,何の装飾もしていないHTMLテーブルが野暮ったく見えるのは仕方ありません。時間をかければ外見は同等のものにできます。 ポイントはVisualization APIでは特にデザインについての指定をコード内で行っていないのに(コード内容は後ほど吟味します),初期状態でこのデザインになるということです。つまりHTMLでテーブルを生成して,もう一手間二手間かけてデザインを洗練するというステップが省略できます。 ![]() 図2●カーソルをテーブル上に移動すると行に背景色が付く
![]() 図3●金額でソートしたところ。再度クリックすると昇順降順が逆になる
もう一点の違いです。Visualization APIで作成したテーブルはマウス・カーソルを持って行くと,カーソル位置の行に薄い灰色の背景色が付きます。行をクリックすると,その行は薄水色の背景色が付き,またCtrl+左クリックで任意複数行の選択,Shift+左クリックで連続した行の選択が可能です(図2)。こうしたマウスの動きに連動した背景色の変更や選択は生のHTMLだけでは実装できません。 テーブルの一番上,「企業名」あるいは「寄付金額」というところをクリックするとデータがソートされます(図3)。 こうしたギミックはHTMLテーブルでは望むべくもない機能です。このサンプルでは実装していませんが,テーブル上でデータをクリックしたというイベントを使ってプログラムを組むこともできます。
テーブルの外観が洗練されているかどうかは実際にはどうでもいいことで,テーブルというHTML上でデータを並べたインタフェースを使って,プログラムが組めるというところがポイントなんですね。
>>コード内容をじっくり吟味してみる
連載新着連載目次へ >>
|