JP2000293154A - 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体 - Google Patents

表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体

Info

Publication number
JP2000293154A
JP2000293154A JP11100128A JP10012899A JP2000293154A JP 2000293154 A JP2000293154 A JP 2000293154A JP 11100128 A JP11100128 A JP 11100128A JP 10012899 A JP10012899 A JP 10012899A JP 2000293154 A JP2000293154 A JP 2000293154A
Authority
JP
Japan
Prior art keywords
column
display
row
displayed
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11100128A
Other languages
English (en)
Inventor
Toshio Kashio
俊雄 樫尾
Shinji Yamaga
紳司 山賀
Tetsuya Onuki
哲也 大貫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP11100128A priority Critical patent/JP2000293154A/ja
Publication of JP2000293154A publication Critical patent/JP2000293154A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 スクロール可能な複数の列を有する表の表示
において、画面上に表示されている表示列と表示されて
いない非表示列とを、即座に、識別できるようにする。 【解決手段】 表幅に合わせて列幅情報テーブルを生成
し(ステップS81〜S84)、変数CL、CRに、そ
れぞれ、左端の表示列と右端の表示列の列番号を設定し
(ステップS85)、列幅情報テーブルの内容に基づき
列名一覧データバッファに列見出し名を書き込む(ステ
ップS86)。そして、列名一覧データバッファに表示
列と非表示列とで互いに異なる枠線・背景色を設定し
(ステップS88〜90)、列名一覧データバッファの
データに基づき、列名一覧を表示装置に書き出す(ステ
ップS83)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、表の表示制御装
置、表の表示制御方法、及び表の表示制御プログラムを
記憶した記憶媒体に関する。
【0002】
【従来の技術】エディタ、ワープロ、及び表計算ソフト
などのソフトウェアの表示においては、スクロールは必
須の機能になっている。スクロールは、ディスプレイの
1画面にデータを表示しきれないとき、表示画面を上下
左右に移動して残りの部分を表示する機能である。すな
わち、エディタ、ワープロでは、テキストが複数ページ
である場合、また、表計算ソフトなどでは、「ワークシ
ート」が複数行×複数列で構成される場合、ユーザは、
スクロール操作を行うことによって、所望の行や所望の
列を閲覧することができる。
【0003】また、該スクロール機能は、会計業務など
の帳票画面の表示にも利用される。図27は、従来の横
スクロール操作が行われた1枚のワークシートの表示画
面の一例を示す図である。
【0004】ワークシートは、等間隔で配置された複数
の縦線並びに複数の横線によって格子状に区切られた複
数のマス目から構成されており、これらのマス目の一つ
一つは、一般に、「セル」と呼ばれている。そして、こ
れら複数のセルの位置は、列番号と行番号とによって特
定される。同図に示すように、列番号は、左から順に、
「A列、B列、・・・」とアルファベット順に、また、
行番号は、上から順に、「1行目、2行目、・・・」と
表される。この場合、3行目の2列目にあるセルは、一
般に、「B3セル」と呼ばれる。
【0005】同図に示すワークシート200は、スクロ
ール操作の対象外の領域である固定領域210と、スク
ロール操作の対象領域であるスクロール領域220に別
れており、スクロール領域220のみでスクロールが可
能になっている。すなわち、固定領域210はA列とB
列から構成されており、スクロール領域220は、それ
ら以外のC列以降の列から構成されている。
【0006】同図は、スクロール領域220において、
C列〜H列までが左方向にスクロールされた状態を示し
ている。この場合、B列とI列との境界230が、固定
領域210とスクロール領域220との境界である。ま
た、従来、帳票画面として、図28に示すような、階層
構造を有する「括り表」が知られている。同図は、該括
り表の一例である「商品売上実績表」を示す図である。
商品の場合、一つの商品が複数のカテゴリに分類され、
さらに、各カテゴリーが、複数の実際に販売されている
商品に分類されるというように、階層構造で表現され
る。このような階層構造を表形式で表現したのが括り表
である。
【0007】図28は、括り表の一つである「商品売上
実績表」の一部が表示されている。この場合、表示され
ているのは、「電卓」という商品の売上実績表の一部で
あり、「電卓」の中の「DIARY」として分類される
複数の「商品」に関する売上実績が表示されている。こ
の場合、最上位の階層に属するのは「電卓」であり、次
の階層の属するのは「DIARY」、そして、最下位の
階層に属するのは「0112123 SF−440
0」、「0112998 DK−J85」、・・・等の
商品名である。
【0008】この場合、「電卓」の中には「DIAR
Y」以外のカテゴリが含まれる。したがって、「電卓」
以外のカテゴリの商品を表示する場合には、縦スクロー
ル操作が必要となる。また、「DIARY」に属する他
の商品を表示させる場合にも、縦スクロール操作が必要
となる。すなわち、最上位層に属する「商品」以外の下
位の階層においては、共に、縦スクロール操作が必要で
ある。従来、このような縦スクロール操作が行われた場
合、階層構造を意識せずに、通常のワープロやエディタ
と同様な方法でスクロール表示が行われていた。
【0009】また、さらに、画面上に表示されている表
が全体の一部であることをユーザに知らせる方法とし
て、該表の脇に設けられたスクロールバー領域の中に
「スクロールスライダー」を表示する方法が採用されて
いた。このような従来の方法においては、現在、画面に
表示されていない列を表示するためには、該スクロール
スライダーを動かす、或いはスクロールバーと該スクロ
ールスライダーとの間の余白をクリックする、またはス
クロールバーの両端のエリアをクリックするなどの操作
を、所望の列が表示されるまで、繰り返す必要があっ
た。
【0010】上記スクロールスライダーを動かす方法の
場合、スクロールスライダーの移動量と列の表示移動量
とを比例させ、移動に合わせながら列を1列づつスクロ
ールさせるようにしていた。また、上記スクロールバー
とスクロールスライダーとの間の余白をクリックする方
法の場合、クリックすることにより、所定の列数分、一
度に移動させるようにしていた。また、さらに、上記ス
クロールバーの両端のエリアをクリックする方法の場
合、クリックする毎に、1列づつスクロールするように
していた。
【0011】
【発明が解決しようとする課題】図27に示すように、
従来のスクロール装置においては、固定スクロール領域
210とスクロール領域220との境界230は、スク
ロール領域220の外枠と同様に表示されていた。この
ため、同図に示すように、スクロール領域220の先頭
が、列の区切り(この場合、I列の左端)と一致する場
合、固定領域210の右端の列(この場合、B列)と現
時点のスクロール領域220の先頭の列(この場合、I
列)との間に存在する列(この場合、C列〜H列)が、
スクロールによって隠されていることを判断するのが難
しかった。このような場合、従来は、列見出し名の順番
(この場合、A列、B列、I列、J列、K列、・・
・)、または、画面の右端や下端等に表示されるスクロ
ールバーのスクロール量の表示に頼っていた。
【0012】また、図28に示すような括り表の場合、
スクロール操作の対象領域の項目数が多いと、それらの
項目は1画面に収まらないので、必然的に、縦スクロー
ル操作が必要となる。しかしながら、縦スクロール操作
を行うと、該項目の上位の階層を示す項目が画面から消
えてしまい、画面の表示されている項目が、いかなる項
目に属するのか分からなくなってしまうという問題があ
った。例えば、図28の例では、例えば、「DIAR
Y」の表示が画面から消えてしまい、「DIARY」の
属する個々の商品名のみが表示される。この場合、商品
名のみの表示となるため、縦スクロール操作を繰り返し
ているうちに、画面に表示されている商品名がいかなる
カテゴリーに属するのか分からなくなってしまことが、
しばしば、起こり得た。したがって、途中で、逆方向の
縦スクロール操作を行い、現在、注目している商品名の
カテゴリーを確認するなど、非効率的な操作を行わねば
ならないなどの不都合があった。
【0013】また、上記表脇のスクロールバー領域の中
にスクロールスライダーを表示するという方法では、現
在、画面に表示されている表が全体の一部であり、隠れ
て見えない部分があるのは分かるものの、該見えない部
分にどのような列があるのか分からない、という問題が
あった。また、さらには、スクロール操作を行い、表の
中ほどを表示中に、見たい列が生じた時、その列が、現
在、表示中の部分に対していずれの側に存在するのか分
からないので、スクロールする方向を判断するのに迷っ
てしまうという問題もあった。
【0014】また、見たい列が隠れているとき、その列
が、現在、注目している列から何列目にあるのかが分か
らないため、スクロールする量を判断できず、行き過ぎ
たりしないように、スクロール操作を慎重に行わなけれ
ばならないという問題があった。
【0015】また、上記スクロールスライダーを動かす
方法の場合、上記スクロールバーとスクロールスライダ
ーとの間の余白をクリックする方法の場合、または上記
スクロールバーの両端のエリアをクリックする方法の場
合のいずれの場合も、所望する列の位置が明確に分から
ないので、その列が見つかるまで操作を繰り返したり、
あるいは、スクロールしすぎて戻ったりするなど、操作
性が良くないなどの問題があった。
【0016】本発明の目的は、表の横スクロールの際
に、該横スクロール操作によって隠された列が存在する
ことを、ユーザが、視覚的に、即時に理解できるように
することである。また、さらに、階層構造を表現する括
り表の縦スクロールの際に、該括り表の階層構造を、常
に、理解できるようにすることである。また、さらに、
表示されている表の全ての列名を一覧表示させ、かつ、
現在、画面に表示されている列と、現在、画面に表示さ
れていない列とを、ユーザが区別できるようにすること
である。
【0017】
【課題を解決するための手段】本発明の第1の態様の表
の表示制御装置は、各列が列名を有する複数列から構成
される表の表示形態を、スクロール操作に応じて制御す
る表示制御装置を前提とする。
【0018】そして、スクロール操作に応じて、前記複
数列のうちの一部の列が表示されるように制御するスク
ロール列表示制御手段と、前記列名の表示を制御するも
のであって、前記スクロール列表示制御手段により表示
された表示列の列名と、前記複数列のうち表示されてい
ない非表示列の列名とが、異なる形態で表示されるよう
に制御する列名表示制御手段とを有することを特徴とす
る上記構成の第1の態様の表の表示制御装置によれば、
表を構成する複数列のうち、スクロール操作に応じて表
示された列と現在表示されていない列とを、即時に識別
することができる。
【0019】本発明の第2の態様の表の表示制御装置
は、複数列から構成される表の表示形態を、スクロール
操作に応じて制御する表示制御装置を前提とする。そし
て、前記複数列のうちの一部の列が表示されるように制
御する列表示制御手段と、スクロール操作に応じて、前
記列表示制御手段により表示された列を除く前記複数列
のうちの一部の列が表示されるように制御するスクロー
ル列表示制御手段と、前記スクロール操作により、前記
列表示制御手段により表示された列に前記スクロール列
表示制御手段により表示された列が隠された場合に、該
列表示制御手段による列の表示と該スクロール列表示制
御手段による列の表示との境界が、前記表の列の境界を
示す形態とは異なる形態で表示されるように制御する境
界表示制御手段とを有することを特徴とする。
【0020】上記構成の第2の態様の表の表示制御装置
によれば、スクロール操作に応じて表示されるはずであ
る列の中に、他の列の表示により隠されて表示されてい
ない列が存在することを、即時に認識することができ
る。
【0021】本発明の第3の態様の表の表示制御装置
は、各列の列名を示す見出し行と、階層提示行と、詳細
行とより構成されている表であって、該階層提示行が一
部の該詳細行である若しくは一部の他の階層提示行であ
る被統合行を統合している階層構造を有する該表の表示
を制御する表示制御装置を前提とする。
【0022】そして、前記見出し行の表示を制御する見
出し行表示制御手段と、一部の前記階層提示行の表示を
制御する階層提示行表示制御手段と、前記階層提示行表
示手段により表示された階層提示行に統合されている一
部または全ての被統合行の表示を制御する被統合行表示
制御手段と、前記見出し行表示制御手段により表示され
た見出し行と前記階層提示行表示制御手段により表示さ
れた階層提示行とが前記表において不連続である場合に
おける該見出し行の表示と該階層提示行の表示との境
界、あるいは前記階層提示行表示手段により表示された
階層提示行と前記被統合行表示制御手段により表示され
た被統合行とが前記表において不連続である場合におけ
る該階層提示行の表示と該被統合行の表示との境界が、
前記表の行の境界についてなされるものとは異なる形態
により表示されるように制御する境界表示制御手段とを
有することを特徴とする。
【0023】上記構成の第3の態様の表の表示制御装置
によれば、階層構造を有する表において、各階層にスク
ロールで隠された項目が存在することを、即時に、認識
することができる。
【0024】本発明の第1の態様の表の表示制御方法
は、各列が列名を有する複数列から構成される表の表示
形態を、スクロール操作に応じて制御する表示制御方法
であって、スクロール操作に応じて、前記複数列のうち
の一部の列が表示されるように制御し、前記スクロール
操作に応じた制御により表示された表示列の列名と、前
記複数列のうち表示されていない非表示列の列名とが、
異なる形態で表示されるように制御することを特徴とす
る。
【0025】上記第1の態様の表の表示制御方法によれ
ば、上記第1の態様の表の表示制御装置と同様な効果が
得られる。本発明の第2の態様の表の表示制御方法は、
複数列から構成される表の表示形態を、スクロール操作
に応じて制御する表示制御方法であって、前記複数列の
うちの一部の列が表示されるように制御する第一の制御
を行ない、スクロール操作に応じて、前記第一の制御に
より表示された列を除く前記複数列のうちの一部の列が
表示されるように制御する第二の制御を行ない、前記ス
クロール操作により、前記第一の制御により表示された
列に前記第二の制御により表示された列が隠された場合
に、該第一の制御による列の表示と該第二の制御による
列の表示との境界が、前記表の列の境界を示す形態とは
異なる形態で表示されるように制御することを特徴とす
る。
【0026】上記第2の態様の表の表示制御方法によれ
ば、上記第2の態様の表の表示制御装置と同様な効果が
得られる。本発明の第3の態様の表の表示制御方法は、
各列の列名を示す見出し行と、階層提示行と、詳細行と
より構成されている表であって、該階層提示行が一部の
該詳細行である若しくは一部の他の階層提示行である被
統合行を統合している階層構造を有する該表の表示を制
御する表示制御方法であって、前記見出し行の表示を制
御し、一部の前記階層提示行の表示を制御し、前記表示
された階層提示行に統合されている一部または全ての被
統合行の表示を制御し、前記表示された見出し行と前記
表示された階層提示行とが前記表において不連続である
場合における該見出し行の表示と該階層提示行の表示と
の境界、あるいは前記表示された階層提示行と前記表示
された被統合行とが前記表において不連続である場合に
おける該階層提示行の表示と該被統合行の表示との境界
が、前記表の行の境界についてなされるものとは異なる
形態により表示されるように制御することを特徴とす
る。
【0027】上記第3の態様の表の表示制御方法によれ
ば、上記第3の態様の表の表示制御装置と同様な効果が
得られる。
【0028】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施形態を説明する。図1は、本発明の実施形態の
スクロール装置を備えた情報処理装置のシステム構成を
示す図である。
【0029】同図において、表情報テーブル10は、表
データ記憶部11、表属性情報テーブル13、及び表デ
ータ属性情報記憶部15から成る。表データ記憶部11
は、階層構造を有する括り表(以下、単に表と記載する
場合もある)のデータを記憶するメモリである。表属性
情報テーブル13は、上記括り表の属性に関する情報を
格納するテーブルである。該属性は、階層レベル数、表
列数、及び表行数である。階層レベル数は、括り表の階
層数である。表列数は、上記括り表の列の総数である。
表行数は、上記括り表の行の総数である。
【0030】表データ属性情報記憶部15は、上記括り
表の各列の属性情報を記憶するメモリである。上記属性
情報は、列名称、列幅、及び列表示状態フラグである。
列名称は、上記括り表の各列の名称である。列幅は、上
記括り表の各列の幅である。列表示状態フラグは、上記
括り表の各列の表示状態を示すフラグである。
【0031】上記括り表を構成する各列は、常時、表示
される固定列とスクロール可能な列(スクロール列)に
区分される。そして、スクロール列は、画面に表示され
ている表示列と、画面に表示されていない非表示列に区
分される。上記列表示状態フラグは、上記括り表を構成
する各列の3種類の状態、すなわち、「固定列」、「表
示列」、または「非表示列」のいずれか一つを示す。
【0032】表データ生成部20は、上記表情報テーブ
ル10に格納されている情報を基に、上記括り表を表示
するために必要な表データ及び隙間データを生成し、こ
れらを表示メモリ30内に書き込む。
【0033】表示メモリ30は、表示データバッファ3
1と隙間データバッファ32を有する。上記表データ生
成部20によって生成された表データと隙間データは、
それぞれ、表示データバッファ31及び隙間データバッ
ファ32に書き込まれる。
【0034】列名情報生成制御部40は、列名幅情報調
整部41と列幅情報テーブル43を有し、上記括り表の
全ての列の列名が、一行に一覧表示されるために必要と
なる列幅情報を作成する。列名幅情報調整部41は、表
属性情報テーブル13の表データ属性情報記憶部15に
記憶されている情報を参照して、上記列幅情報を作成
し、これを列幅情報テーブル43に格納する。
【0035】列名表示データ生成部50は、列幅情報テ
ーブル43を参照して、表データ属性情報記憶部15か
ら上記括り表の各列の名称(列名)を読みだし、列名一
覧データを生成する。
【0036】列名一覧データバッファ60は、列名表示
データ生成部50によって生成された上記列名一覧デー
タを格納する。表データ表示制御部70は、列名一覧デ
ータバッファ60を参照して、表示装置80の画面の下
方に表示させる。また、表データ表示制御部70は、表
データ生成部20を介して、表示メモリ30をアクセス
し、表示データバッファ31から上記括り表の表示デー
タを読みだすと共に、隙間データバッファ32から隙間
データを読みだして、これらのデータを基に、表示装置
80の画面に括り表を表示させる。
【0037】表データ表示制御部70は、内部に、表座
標が設定されるレジスタ71と列名の表座標が設定され
るレジスタ72を備える。表データ表示制御部70は、
さらに、表示装置80の画面に表示される表の幅(表
幅)を格納するレジスタ73、該表の高さ(表高)を格
納するレジスタ74、行の高さを格納するレジスタ7
5、隙間行の高さを格納するレジスタ76、及び列名修
飾情報を格納するレジスタ77を備える。表データ表示
制御部70は、後述するように、これらのレジスタに格
納されているデータを基に、括り表の表示制御を行う。
【0038】表示装置80は、CRTディスプレイ、L
CD、プラズマ・ディスプレイ等のディスプレイであ
る。入力装置90は、括り表を生成するための入力や、
該括り表へのデータ、該括り表のスクロール操作等を行
うための入力装置であり、例えば、キーボード、マウス
等のポインティングデバイスから成る。
【0039】スクロール制御部100は、入力装置90
でスクロール操作が行われた場合、そのイベントを、表
データ表示制御部70に通知する。外部記憶装置110
は、表情報テーブル10に展開される括り表のデータを
記憶する記憶装置であり、ハードディスクや光ディスク
装置等から成る。
【0040】図2は、上記表情報テーブル10のデータ
構造を示す図である。同図(a)は、表データ記憶部1
1に格納される表データテーブル11aの構成を示す図
である。該表データテーブル11aの各行は、「階層レ
ベル」、「列1」、「列2」、「列3」、・・・「列
n」(nは任意の正の整数)の各フィールドから成るレ
コードとなっている。表データテーブル11aには、こ
のようなデータ構造のレコードが、括り表の階層順に、
格納される。
【0041】階層レベルは、階層順位を示す数値であ
り、最上位階層の階層レベルは“1”であり、最上位階
層より下位の階層には、階層レベルとして、階層順に、
それぞれ、“2”、“3”、・・・が割り当てられる。
また、表データテーブル11aの各行には、先頭から
「1」、「2」、「3」、・・・のシリアル番号からな
る行番号が割り当てられている。
【0042】また、同図(b)は、上記表属性情報テー
ブル13の構成を示す図である。同図(b)に示すよう
に、表属性情報テーブル13には、同図(a)に示す表
データテーブル11aの構成に関する、「階層レベル
数」、「表行数」、及び「表列数」の3種類の情報が格
納される。
【0043】「階層レベル数」は、表の階層数を示す情
報であり、同図(a)に示す表データテーブル11aに
おいては“3”となる。また、「表行数」は、表データ
テーブル11aに含まれる総行数を示す情報であり、同
図(a)に示す表データテーブル11aにおいては“3
00”となっている。このため、同図(b)に示すよう
に、表属性情報テーブル13においては、「階層レベル
数」、「表行数」、及び「表列数」の値が、それぞれ、
“3”、“300”、及び“12”となっており、表デ
ータテーブル11aには、階層レベルが“1”〜“3”
までの3階層で、総行数が“300”、総列数が“1
2”の括り表の表データが格納されていることを示して
いる。
【0044】次に、同図(c)は、上記表データ属性情
報記憶部15に格納される表データ属性情報テーブル1
5aの構成を示す図である。表データ属性情報テーブル
15aは、同図(a)の表データテーブル11aのn個
の「列1」〜「列n」について、「列名称」、「列
幅」、及び「列表示状態フラグ」の3種類の属性情報を
格納している。列表示状態フラグは、上述したように、
括り表を構成する各列の3種類の状態、すなわち、「固
定列」、「表示列」、または「非表示列」のいずれか一
つを示すフラグであり、固定列であれば“0”が、表示
列であれば“1”が、非表示列であれば“2”が設定さ
れる。
【0045】次に、図1の情報処理装置の全体の動作フ
ローを、図3のフローチャートを参照しながら、説明す
る。まず、外部記憶装置110から括り表に関するデー
タを読みだして、表情報テーブル10を生成する(ステ
ップS1)。
【0046】これにより、表データ記憶部11に表デー
タテーブル11aが格納され、表データ属性情報記憶部
15に表データ属性情報テーブル15aが格納され、さ
らに、表属性情報テーブル13が生成される。
【0047】次に、表データ生成部20が、上記表情報
テーブル10を参照して、列見出しデータの生成(ステ
ップS2)、階層部のデータ生成(ステップS3)、デ
ータ行部のデータ生成(ステップS4)、横隙間データ
の生成(ステップS5)、縦隙間データの生成(ステッ
プS6)を、順に実施する。
【0048】次に、ステップS2で生成された列見出し
データを、表データ生成部20及び表データ表示制御部
70を介して、表示装置80に書き出す(ステップS
7)。続いて、ステップS3で生成された階層部データ
を、表データ生成部20及び表データ表示制御部70を
介して、表示装置80に書き出す(ステップS8)。さ
らに、続いて、ステップS4で生成されたデータ行部デ
ータを、表データ生成部20及び表データ表示制御部7
0を介して、表示装置80に書き出す(ステップS
9)。
【0049】これにより、表示装置80の画面には、括
り表の初期画面が表示される。次に、列名情報生成制御
部40が列幅情報テーブル43内に列幅情報を生成する
(ステップS10)。続いて、列名幅情報調整部41
が、表データ属性情報テーブル15aを参照して、列名
幅を調整する(ステップS11)。この列名幅を調整す
る処理は、表データ属性情報テーブル15aの列表示状
態フラグを更新する処理である。この処理の詳細は、後
述する。
【0050】次に、列名表示データ生成部50が、ステ
ップS11で更新された表データ属性情報テーブル15
aを参照して、列名一覧データバッファ60内に列名一
覧データを生成する(ステップS12)。続いて、表デ
ータ表示制御部70が、ステップS13で生成された列
名一覧データを表示装置80に書き出す(ステップS1
3)。これにより、表示装置80の画面に列名一覧デー
タが初期表示される。
【0051】次に、スクロール制御部100が、入力装
置90からの入力データを基に、入力装置90において
表示クリックイベントの操作が行われたか判別する(ス
テップS14)。この判別がNOである間は(ステップ
S14、NO)、ステップS14の処理を繰り返す。
【0052】そして、該表示クリックイベントの操作が
行われたと判別したならば(ステップS14、YE
S)、そのクリックイベントが、横スクロールを指示す
る横スクロールクリックイベントであるか判断する(ス
テップS15)。そして、横スクロールクリックイベン
トであれば(ステップS15、YES)、スクロール制
御部100はその旨を、表データ表示制御部70に通知
する。表データ表示制御部70は、その通知を受け取る
と、横スクロール処理を行う(ステップS16)。この
横スクロール処理の詳細は後述する。横スクロール処理
が終了すると、ステップS14に戻る。
【0053】一方、ステップS15で横スクロールクリ
ックイベントでないと判断すると、スクロール制御部1
00は、縦スクロールを指示する縦スクロールクリック
イベントであるか判断する(ステップS17)。そし
て、縦スクロールクリックイベントであると判断すると
(ステップS17、YES)、スクロール制御部100
はその旨を、表データ表示制御部70に通知する。表デ
ータ表示制御部70は、その通知を受け取ると、縦スク
ロール処理を行う(ステップS18)。この縦スクロー
ル処理の詳細は後述する。縦スクロール処理が終了する
と、ステップS14に戻る。
【0054】一方、ステップS17で、縦スクロールク
リックイベントでないと判断した場合には(ステップS
17、N0)、ステップS14に戻る。図4は、ステッ
プS2〜S6で、表示データバッファ31及び隙間デー
タバッファ32内に生成される各データの構造を示す図
である。
【0055】同図(a)は、表示データバッファ31の
全体構造を示す図である。表示データバッファ31に
は、括り表の全表示データが格納される。括り表は、縦
方向と横方向に区分される。まず、縦方向について説明
すると、表示データバッファ31の先頭は列見出し部デ
ータバッファ31Aとなっており、続いて、階層部デー
タバッファ31B、データ行部データバッファ31Cの
順に配置されている。同図(a)は、3階層の括り表用
表示データバッファ31の例である。
【0056】上記列見出し部データバッファ31A、階
層部データバッファ31B、及びデータ行部データバッ
ファ31Cは、横方向には、固定列部31Eとスクロー
ル列部31Fとに区分されている。固定列部31Eは、
横スクロールが不可能な領域である。これに対し、スク
ロール列部31Fは、横スクロールが可能な領域であ
る。なお、固定列部31Eあるいはスクロール列部31
Fとする領域は任意に設定できる。
【0057】同図(a)に示すように、列見出し部デー
タバッファ31Aの固定列部31Eとスクロール列部3
1Fの先頭アドレスは、それぞれ、T1ポインタとT2
ポインタによって指定される。
【0058】また、階層部データバッファ31Bは、同
図(a)においては、3行から構成されるように示され
ているが、後述するように、実際には6行から構成され
る。すなわち、同図(a)に示されている各行は、実際
には、奇数行と偶数行の2行から成っている。すなわ
ち、例えば、同図(a)において、先頭アドレスがL1
ポインタで示される固定列部31Eの行は、実際には、
先頭アドレスが、それぞれ、L1−1ポインタ、L1−
2ポインタによって指定される奇数行と偶数行の2つの
行から構成されている。また、先頭アドレスがS1ポイ
ンタで示される同じ行のスクロール列部31Fの先頭ア
ドレスは、先頭アドレスが、それぞれ、S1−1ポイン
タ、S1−2ポインタによって指定される奇数行と偶数
行の2つの行から構成されている。階層部データバッフ
ァ31Bの他の2行も、同様である。
【0059】また、データ行部データバッファ31C
は、図2(a)の4行目以降のデータを格納しており、
固定列部31Eの先頭アドレスはポインタL4によって
指定され、スクロール列部31Fの先頭アドレスはポイ
ンタS4によって指定される。
【0060】尚、階層部データバッファ31Bとデータ
行部データバッファ31Cは、全体で、Lバッファを構
成している。このLバッファは、同図(a)に示す行単
位でアクセス可能であり、例えば、i行目のデータはL
(i)で読出可能である。尚、iはインデックスであ
る。また、固定列部31Eの各行のデータはLデータと
呼ばれ、スクロール列部31Fの各行のデータはSデー
タと呼ばれる。該Lデータ、該Sデータの先頭アドレス
は、同図(a)に示すL1、S1、・・・等のポインタ
によって指定される。
【0061】また、表示装置80の画面に括り表(表)
が表示される場合には、上記列見出しデータバッファ3
1A、階層部データバッファ31B、及びデータ行部デ
ータバッファ31C内に格納されている行データが表示
されるが、画面上の表において、列見出しデータバッフ
ァ31Aの行データが表示される行を「列見出し部」、
階層部データバッファ31Bの行データが表示される複
数行を「階層部」、データ行部データバッファ31Cの
行データが表示される複数行を「データ行部」と呼ぶ。
【0062】同図(b)は、隙間データバッファ32に
格納される5種類の隙間データを示す図である。尚、各
隙間データの前のC1〜C5は、該隙間データの先頭ア
ドレスを指すポインタである。ポインタC1〜C4でア
ドレスされる隙間データ32A〜32Dは、縦スクロー
ルが行われた際に、隙間行データを生成するために使用
されるデータである。隙間データ32A〜32Cは固定
列部31Eの隙間行データの生成のため、また、隙間デ
ータ32Dはスクロール列部31Fの隙間行データの生
成のために使用される。また、ポインタC5でアドレス
される隙間データ32Eは隙間列データを生成するため
に使用されるデータである。隙間データ32Eは、横ス
クロールが行われた際に、固定列部31Eとスクロール
列部31Fとの境界に配置される。なお、固定部31E
の領域は任意に設定できる。
【0063】尚、以後の説明では、ポインタCi(i=
1〜5)が指す隙間データを、便宜上、隙間データCi
と呼ぶ場合もある。また、隙間データC1〜C4を横隙
間データ、隙間データC5を縦隙間データと呼ぶ場合も
ある。
【0064】次に、列幅情報テーブル43と列名一覧デ
ータバッファ60の構成を、それぞれ、図5(a)、
(b)に示す。同図(a)に示すように、列幅情報テー
ブル43は、括り表を構成している「列1」〜「列n」
のn個の列について、X座標「Xi」と列幅Liの情報
を格納している(i=1〜n)。該X座標「Xi」は、
「列i」の列名を表示する際の始点X座標である。ま
た、列幅Wiは「列i」の横幅である(同図(b)参
照)。
【0065】また、同図(b)に示すように、列名一覧
データバッファ60は、「列1」〜「列n」のn個の列
について、その列の名称(列名)を格納している。同図
(b)の例では、「列1」、「列2」、「列3」、・・
・「列n」の列名が、それぞれ、「XXX」、「YYY
Y」、「ZZ」、・・・、「ABC」となっている。
【0066】次に、図3のフローチャートのステップS
2〜S9までの処理(表データ表示の初期処理)の詳細
を、図6のフローチャートに示す。このフローチャート
の処理を、図8を参照しながら説明する。
【0067】まず、座標X1と座標Yに“0”を設定す
る(ステップS31)。尚、X1、Yは、それぞれ、表
示装置80の画面上に設定される2次元X−Y座標系に
おける、X座標、Y座標を示す変数である。表示データ
バッファ31には、上記2次元X−Y座標系と同様な座
標系が設定されるものとする。
【0068】次に、列見出し部データバッファ31A
の、上記座標(X1,Y)に対応する位置から、固定列
部31Eを構成する各列の列名(列見出し名)を書き込
む(ステップS32)。すなわち、表示装置80の画面
の左上隅の座標(0、0)から上記固定列部31Eの各
列の列名が表示されるように、該各列の列名を、列見出
し部データバッファ31Aに書き込む。
【0069】続いて、座標X2に、上記固定列部31E
を構成する各列の幅の累計値を設定する(ステップS3
3)。座標X2も、表示装置80の画面上に設定される
2次元X−Y座標系におけるX座標を示す変数である。
【0070】次に、列見出し部データバッファ31A
の、座標(X2,Y)に対応する位置から、スクロール
列部31Fを構成する各列の列名(列見出し名)を書き
込む。上記ステップS31〜S34の処理により、図8
(a)に示すように、列見出し部データバッファ31A
には、固定列部31Eの列見出し名「XXX、YYY
Y」とスクロール列部31Fの列見出し名「ZZ、・・
・、ABC」が書き込まれる。尚、同図(a)に示す
「T1」、「T2」は、図4に示すポインタT1、T2
であり、それぞれ、列見出し部データバッファ31Aの
固定列部31Eの先頭アドレス、スクロール列部31F
の先頭アドレスである。
【0071】次に、表データテーブル11aの先頭行か
ら順に、1行単位で、1行分のデータを読みだす(ステ
ップS35)。そして、まず、該データから階層部の固
定列部の表示データを生成し、これを、階層部データバ
ッファ31Bの固定列部31Eの当該領域に書き込む
(ステップS36)。続いて、上記ステップS35で読
みだしたデータから、上記階層部のスクロール列部の表
示データを生成し、これを、階層部データバッファ31
Bのスクロール列部31Fの当該領域に書き込む(ステ
ップS37)。
【0072】次に、表属性情報テーブル13の階層レベ
ル数に等しい階層レベルの全てのデータを、表データテ
ーブル11aから読みだしたか判別する(ステップS3
8)。そして、該全てのデータを、まだ、読みだしてい
ないならば(ステップS38、N0)、ステップS35
に戻り、表データテーブル11aから次の行のデータを
読みだす(ステップS35)。
【0073】以上のようにして、表データテーブル11
aから階層部の全ての行のデータを読みだすまで、ステ
ップS35〜S38の処理を繰り返す。そして、該全て
の行のデータの読出が終了したと判別したならば(ステ
ップS38、YES)、ステップS39に移る。
【0074】上記ステップS35〜S38の処理によ
り、表データテーブル11aが、図2(a)に示す内容
であった場合には、同図(a)に示す表データテーブル
11aの先頭の3行の階層レベルが“1”(L1−2)
〜“3”(L3−2)までの行データが、階層部データ
バッファ31Bに書き込まれる。すなわち、表データテ
ーブル11a内の行番号が「1」〜「3」の行データが
階層部データバッファ31Bに書き込まれる。
【0075】ところで、階層部データバッファ31Bに
対して、図8(b)の左側に示すような階層部データバ
ッファ管理テーブル31Dが設けられている。階層部デ
ータバッファ管理テーブル31Dは、階層部データバッ
ファ31Bに格納されている各行のデータを管理するた
めのテーブルであり、本実施形態では、同図(b)の右
側に示すように、階層部データバッファ31Bが6行で
構成されているため、これに対応して、階層部データバ
ッファ管理テーブル31Dは6行から構成されている。
【0076】階層部データバッファ管理テーブル31D
の各行は、「行番号」、「行高さ」、「Lポインタ」、
及び 「Sポインタ」の4つのフィールドで構成されて
いる。同図(b)は、初期表示の際の階層部データバッ
ファ管理テーブル31Dの内容を示している。「Lポイ
ンタ」、及び「Sポインタ」は、階層部データバッファ
31Bの対応する行の先頭アドレスを指すポインタを格
納するフィールドである。
【0077】同図(b)に示すように、階層部データバ
ッファ31Bの第1行の固定列部31Eとスクロール列
部31Fの先頭アドレスは、それぞれ、ポインタL1−
1、S1−1で指定される。また、第2行の固定列部3
1Eとスクロール列部31Fの先頭アドレスは、それぞ
れ、ポインタL1−2、L1−2で指定され、第3行の
固定列部31Eとスクロール列部31Fの先頭アドレス
は、それぞれ、ポインタL2−1、L2−1で指定さ
れ、第4行の固定列部31Eとスクロール列部31Fの
先頭アドレスは、それぞれ、ポインタL2−2、L2−
2で指定され、第5行の固定列部31Eとスクロール列
部31Fの先頭アドレスは、それぞれ、ポインタL3−
1、L3−1で指定され、第6行の固定列部31Eとス
クロール列部31Fの先頭アドレスは、それぞれ、L3
−2、L3−2で指定される。
【0078】また、「行高さ」は、階層部データバッフ
ァ31Bの対応する行に格納されているデータの縦方向
の表示幅を格納するフィールドであり、「行番号」は、
階層部データバッファ31Bの対応する行に格納されて
いるデータの行番号を格納するフィールドである。
【0079】初期表示の際には、同図(b)に示すよう
に、ステップS35〜S38で表データテーブル11a
から読みだされた、行番号が「1」〜「3」の行表示デ
ータは、それぞれ、階層部データバッファ31Bの第
2、4、6行に書き込まれる。すなわち、同図(b)に
示すように、行番号が「1」の行表示データの固定列部
31Eとスクロール列部31Fのデータは、それぞれ、
階層部データバッファ31BのポインタL1−2、S1
−2が指すアドレスに格納される。また、行番号が
「2」の行表示データの行表示データの固定列部31E
とスクロール列部31Fのデータは、それぞれ、階層部
データバッファ31BのポインタL2−2、S2−2が
指すアドレスに格納され、行番号が「3」の行表示デー
タの行表示データの固定列部31Eとスクロール列部3
1Fのデータは、それぞれ、階層部データバッファ31
BのポインタL3−2、S3−2が指すアドレスに格納
される。また、上記行番号が「1」〜「3」の行表示デ
ータは、いずれも、その縦幅(行高さ)が「H」であ
る。
【0080】また、初期表示の際には、階層部データバ
ッファ管理テーブル31Dの奇数行である第1、3、5
行の 「行番号」は“−”であり、「行高さ」は“0”
となっている。これは、階層部データバッファ31Bの
第1、3、5行には、“NULL”が格納されているこ
とを示している。
【0081】尚、本実施形態では、階層部データバッフ
ァ管理テーブル31Dの各行をDバッファと呼び、i行
のDバッファをD(i)で示す。また、上述したよう
に、階層部データバッファ31Bの各行を、Lバッファ
と呼び、i行のLバッファをL(i)で示す。
【0082】図6のフローチャートの説明に戻る。次
に、表データテーブル11aの第4行目から、表示デー
タバッファ31のデータ行部データバッファ31Cに格
納するデータを、1行単位で、順に読みだす(ステップ
S39)。続いて、該読みだしたデータを基に、括り表
のデータ行部のデータを生成し、これをデータ行部デー
タバッファ31Cの当該領域に書き込む(ステップS4
0)。そして、次に、表属性情報テーブル13の表行数
(行数)を参照して、表データテーブル11aから括り
表のデータ行部の全てのデータを読みだしたか判断し
(ステップS41)、まだ、該全てのデータを読みだし
ていなければ(ステップS41、NO)、ステップS3
9に戻って、表データテーブル11aから括り表のデー
タ行部の全てのデータを読みだす。
【0083】このようにして、ステップS39〜S41
の処理を繰り返し、ステップS41で、表データテーブ
ル11aから、括り表の全てのデータ行部の全てのデー
タを読みだしたと判断すると(ステップS41、YE
S)、ステップS42に移る。
【0084】上記ステップS39〜S41の処理によ
り、表データテーブル11aが、図2(a)に示す内容
であった場合には、第4行目以降の全ての行データが、
データ行部データバッファ31Cに書き込まれる。
【0085】この結果、図8(c)に示すように、ポイ
ンタL4の指すアドレスを先頭アドレスとするデータ行
部データバッファ31Cに、括り表のデータ行部の全て
のデータが書き込まれる。尚、上述したように、データ
行部データバッファ31Cも、固定列部31Eとスクロ
ール列部31Fとに分割されて格納される。
【0086】図6のフローチャートの説明に戻る。ステ
ップS42では、括り表の階層レベル数分の横隙間デー
タを生成し、これらの横隙間データを隙間データバッフ
ァ32に書き込む(ステップS42)。次に、縦隙間デ
ータを生成し、これを、隙間データバッファ32に書き
込む(ステップS43)。
【0087】ステップS42とS43の処理により、図
8(d)に示すように、隙間データバッファ32には、
ポインタC1〜C4が指すアドレスの4個の横隙間デー
タが書き込まれると共に、ポインタC5が指すアドレス
に縦隙間データが書き込まれる。
【0088】次に、データ行の表示先頭行カウンタ(不
図示)に、表属性情報テーブル13に設定されている階
層レベル数を設定する(ステップS44)。図2(b)
の例では、該表示先頭行カウンタには“3”が設定され
る。この処理は、表示先頭行カウンタを初期設定する処
理である。
【0089】続いて、列見出し部データバッファ31A
の内容の中で、初期表示されるデータを表示装置80に
書き出す(ステップS45)。ここで、列見出し部デー
タバッファ31A、階層部データバッファ31B、及び
データ行部データバッファ31Cと、表示装置80の画
面との関係を、図9を参照しながら説明する。
【0090】表示装置80の画面のサイズが、括り表全
体のイメージデータよりも小さい場合、表示装置80の
画面には、括り表の全体を一度に表示することはできな
い。このため、ユーザは、括り表の全てのデータを閲覧
するために、縦スクロール操作及び横スクロール操作を
行う必要がある。ここで、表示装置80の画面上の、括
り表の表示領域の内、列見出しデータの表示域を除外し
た領域の水平方向の長さを「表幅」、垂直方向の長さを
「表の高さ」と定義する。
【0091】図9で、斜め縞で示した部分が、表示装置
80の画面に表示される括り表の初期表示部分である。
図9の例では、表幅=XE(=DXE)となっている。
また、列見出し部データバッファ31A、階層部データ
バッファ31B、及びデータバッファ31Cの各データ
バッファ毎に、個別に、2次元X−Y座標系を設定す
る。
【0092】このことにより、列見出し部データバッフ
ァ31Aは、同図(a)に示すように、1行のみからな
るため、その左上隅の座標(X,Y)のみを指定するだ
けで、その領域のサイズが決定される。右隅の座標は
(表幅、Y)となるからである。尚、X=0、Y=0と
する。
【0093】また、階層部データバッファ31Bは、同
図(b)に示すように、その領域の左上隅の座標(X
S,YS)と右下隅の座標(XE,YE)とで、初期表
示部分が決定される。尚、XS=0、YS=0とする。
この結果、XE=表幅、YE=行の高さ(行高)×n
(レベル数)である。また、データ行部データバッファ
31Cは、同図(c)に示すように、その領域の左上隅
の座標(DXS,DYS)と右下隅の座標(DXE,D
YE)とで、初期表示部分が決定される。初期表示にお
いては、DXS=0、DYS=0、DXE=表幅、DY
E=表高−YEとなる。尚、DYS及びDYEは、縦ス
クロール操作に応じて変化する。
【0094】再び、図6のフローチャートの説明に戻
る。ステップS45の処理により、図9(a)に示す列
見出し部データバッファ31Aの斜め縞の部分が、表示
装置80の画面に表示される。
【0095】ステップS45の処理に続いて、階層部デ
ータバッファ31Bに格納されている階層部の固定列部
の画像(階層L画像)とスクロール列部の画像(階層S
画像)を表示装置80に書き出す(ステップS46)。
この処理の詳細は、後述する。
【0096】次に、データ行部データバッファ31C内
に格納されているデータ行部の画像データを表示装置8
0に書き出し(ステップS47)、終了する。このステ
ップS47の処理の詳細も、後述する。
【0097】以上の処理により、括り表の内、図9で斜
め縞で示した部分が初期表示される。図23は、括り表
の一例である「商品売上実績表」の初期表示状態を示す
図である。同図において、固定列の見出し名として「商
品」が表示されている。また、スクロール列を構成する
列見出し名として、左から「売上金」、「売上数」、
「仕入数」、「粗利」、「粗率」、及び「在庫数」が表
示されている。また、「在庫月数」の一部である「在庫
月」が表示されている。これらは、列見出し部データバ
ッファ31Aに格納されているデータである。
【0098】また、階層部の固定列のデータとして、
「電卓(階層レベル1)」、「DIARY(階層レベル
2)」、「0112123 SF−4400(階層レベ
ル3)」が表示されている。これらは、階層部データバ
ッファ31Bに格納されているデータである。
【0099】さらに、階層部の階層レベル4以降のデー
タとして、「0112998 DK−J85」、「01
15026 JD−364」、・・・が表示されてい
る。これらは、データ行部データバッファ31Cに格納
されているデータである。
【0100】また、上記のように表示された括り表の左
下に、列名一覧表示101Aが表示されている。この列
名一覧表示101Aにおいては、表示装置80の画面に
表示されている各列の見出し名「商品」、「売上金」、
「売上数」、「仕入数」、「粗利」、「粗率」、「在庫
数」と、一部しか表示されていない列並びに全く表示さ
れていない各列の見出し名「在庫月数」、「当月」、
「08月」、「07月」、「06月」とが、異なる背景
色と枠線で表示されている。
【0101】また、さらに、画面の最下端には、上行ス
クロールボタン103U、下行スクロールボタン103
D、左列スクロールボタン105L、及び右列スクロー
ルボタン105Rが配置されている。これらのスクロー
ルボタンを、入力装置90のマウス等により、クリック
することにより、表に表示される階層レベルが“3”の
項目を1項目づつスクロールすることが可能となると共
に、表の各列を1列づつ左右にスクロールすることが可
能になる。。
【0102】すなわち、上行スクロールボタン103U
をクリックすることにより、表に表示される階層レベル
が“3”の項目が上方向に1列移動する(上行スクロー
ル)。また、下行スクロールボタン103Dをクリック
することにより、表に表示される階層レベルが“3”の
項目が下方向に1列移動する(下行スクロール)。ま
た、さらに、左列スクロールボタン105Lをクリック
することにより、表に表示される列が左方向に1列移動
する(左列スクロール)。また、さらに、右列スクロー
ルボタン105Rをクリックすることにより、表に表示
される列が右方向に1列移動する(右列スクロール)。
【0103】これらのクリック操作は、スクロール制御
部100によって検出され、各スクロールボタンに対応
するイベントとして、スクロール制御部100から表デ
ータ表示制御部70に通知される。尚、上行スクロール
ボタン103U及び下行スクロールボタン103Dをク
リックすることによって発生するイベントを、それぞ
れ、上行表示クリックイベント及び下行表示クリックイ
ベントと呼ぶ。また、左列スクロールボタン105L及
び右列スクロールボタン105Rをクリックすることに
よって発生するイベントを、それぞれ、左列表示クリッ
クイベント及び右列表示クリックイベントと呼ぶ。
【0104】図7は、図6のフローチャートのステップ
S46及びステップS47の処理の詳細を示すフローチ
ャートである。同図において、ステップS51〜S56
が、ステップS46の詳細フローであり、ステップS5
7〜S71がステップS47の詳細フローである。
【0105】同図において、まず、階層部データバッフ
ァ31B上の表示範囲を設定する(ステップS51)。
この処理は、図7(b)に示す階層部データバッファ3
1Bの左上隅の座標(XS,YS)及び右下隅の座標
(XE,YE)を設定する処理である。この結果、上記
のように、XS=0、YS=0、XE=表幅、YE=行
の高さ(行高)×n(レベル数)と設定される。
【0106】次に、階層部データバッファ管理テーブル
31Dの行を示す変数iを“1”に設定する(ステップ
S52)。続いて、階層部データバッファ管理テーブル
31Dのi行目の「行高さ」フィールドの値を読みだし
(ステップS53)、該「行高さ」フィールドの値を判
断する(ステップS54)。そして、該値が“1/2
H”であればステップS55へ、“H”であればステッ
プS56へ、“0”であればステップS57へ進む。
【0107】ステップS55では、階層部データバッフ
ァ31Bのi行目に対応する隙間データを隙間データバ
ッファ32から読みだして、表示装置80に書き出す。
続いて、i行目に対応する階層部L、Sデータを、ステ
ップS54で読みだした「行高さ」フィールドの行高
で、表示装置80に書き出す(ステップS56)。そし
て、iの値を1だけインクリメントする(ステップS5
7)。
【0108】次に、i>6であるか判別し(ステップS
58)、i>6でなければ、ステップS53に戻る。こ
のようにして、階層部データバッファ管理テーブル31
Dの1行目から順に、「行高さ」フィールドの値を読み
だして、その値に応じて、表の階層部の表示行のデータ
を表示装置80に書き出す。そして、階層部データバッ
ファ管理テーブル31Dの全ての行の「行高さ」フィー
ルドの値を読みだしたと判別すれば、(ステップS5
8、YES)、ステップS59へ進む。
【0109】後述するように、表示装置80に表示され
る階層部の行数は、縦スクロールに応じて変化する。換
言すれば、階層部データバッファ管理テーブル31Dの
各行の「行高さ」フィールドの内容に応じて変化する。
「行高さ」フィールドの値が“1/2H”である行にお
いては、上半分に隙間データが下半分に該当する行デー
タの下半分が表示される(ステップS55、S56)。
また、「行高さ」フィールドの値が“H”である行にお
いては、該当する行データの全体が表示される(ステッ
プS56)。また、「行高さ」フィールドの値が“0”
である行においては、表示がなされない。尚、上述した
行は、階層部データバッファ31Bの行を指しており、
表示装置80に表示される階層部の行のことではない。
【0110】後述する説明から明らかになるように、ス
テップS53〜S58のループ処理において、ステップ
S56の処理の実行回数によって、表示装置80の画面
に表示される階層部の行数は変化する。すなわち、該行
数は、該実行回数に等しい。
【0111】階層部データバッファ管理テーブル31D
は、表の初期画面表示の際には、図8(b)の左側に示
すようになっている。すなわち、階層部データバッファ
管理テーブル31Dの奇数行の「行高さ」フィールドは
“0”、偶数行の「行高さ」フィールドは“H”となっ
ている。したがって、表の初期表示画面においては、表
の階層部は3行表示されることになる。このため、該階
層部の1、2、3行目には、それぞれ、表データテーブ
ル11aの1行目から3行目までの行データの全体が表
示される。すなわち、図13の例に示すように、階層レ
ベルが“1”の行(「A 電卓 ・・・・」、“2”の
行(「A2 DIARY ・・・」)及び“3”の先頭
行(「0112123 SF−4400」)が完全に表
示される。
【0112】一方、縦スクロールが行われ、例えば、
「電卓」の階層レベル“2”の項目である「DIAR
Y」に属する階層レベル“3”の全ての項目の行データ
が画面から消え、表の階層部の最下位行に「電卓」の次
の階層レベル“2”の項目に属す階層レベル“3”の先
頭項目の行データが表示される場合には、ステップS5
4で“1/2H”と判別され、ステップS55で横隙間
データの表示がなされ、ステップS56で「DIAR
Y」の行データの下半分が表示される。このような、表
示処理の詳細は、後述する。
【0113】次に、列番号インデックスP(不図示)に
“1”を設定すると共に、SUM列幅に“0”を設定す
る(ステップS59)。該列番号インデックスPは、表
属性情報テーブル13の列幅の行の「列1」〜「列n」
の各フィールドを指す、インデックス情報であり、本実
施形態では、上記表属性情報テーブル13の列幅の行
を、列幅(n)の配列で表現する。これにより、「列
1」の列幅は列幅(1)で、「列i」の列幅は列幅
(i)で読みだすことができる(1≦i≦n)。また、
SUM列幅は、初期表示可能な列名を検索するために使
用される変数である。ステップS59に続いて、SUM
列幅の値に列幅(P)の値を加えた値を、SUM列幅に
代入する(ステップS60)。この場合、最初は、SU
M列幅=列幅(1)となる。
【0114】次に、「SUM列幅>表幅」が成立するか
判断し(ステップS61)、成立しなければ(ステップ
S61、NO)、Pの値を“1”インクリメントし(ス
テップS62)、再び、ステップS60に戻る。このよ
うにして、Pの値を1つづつインクリメントしながら、
ステップS61で、「SUM列幅>表幅」が成立すると
判断されるまで(ステップS61、YES)、ステップ
S60〜S62の処理を繰り返す。
【0115】ステップS61で上記条件が成立すると判
断すると(ステップS61、YES)、Pの値を“1”
デクリメントすると共に、列番号を示す変数kに“1”
を設定し、(ステップS63)、ステップS64に移
る。ステップS64では、表データ属性情報テーブル1
5aの列番号kの列の列表示状態フラグの中で、“0”
以外のフラグを“1”に設定する。
【0116】次に、列番号k=Pであるか判断し(ステ
ップS65)、k=Pでなければ(ステップS65、N
O)、kの値を“1”インクリメントし(ステップS6
6)、ステップS64に戻る。ステップS64〜S66
の処理は、ステップS65で、k=Pであると判断され
るまで繰り返される。
【0117】このようにして、列番号kの値を“1”か
ら“P”まで、1つづつインクリメントしていきなが
ら、表データ属性情報テーブル15aの列表示状態フラ
グの中で、“0”以外の列番号kのフラグを“1”に設
定する。尚、列表示状態フラグが“0”の列は固定列で
あるため、変更しない。以上の処理により、スクロール
列に属する列の中で、初期表示される列の列表示状態フ
ラグが“1”(表示列)に設定される。
【0118】ステップS65でk=Pであると判断され
ると(ステップS65、YES)、表データ属性情報テ
ーブル15aの列状態フラグの中で、列番号がPを越え
るフラグを“2”に設定する(ステップS67)。
【0119】この結果、スクロール列に属する列の中
で、初期表示されない列の列表示状態フラグが“2”
(非表示列)に設定される。次に、データ行部データバ
ッファ31C内の表示対象矩形領域を設定する。すなわ
ち、図9に示すように、該表示対象矩形領域の左上隅の
座標(DXS,DYS)を(0、a)に、右下隅の座標
(DXE,DYE)を(表幅、b)に設定する(ステッ
プS68)。ここで、 a=(表示先頭行カウンタの値−レベル数)×行高さ b=a+(表高−YE) YE=行の高さ×レベル数 である。
【0120】続いて、ステップS68で設定された、デ
ータ行部データバッファ31C内の、左上隅の座標を
(DXS,DYS)、右下隅の座標を(DXE,DY
E)とする矩形領域を、表示装置80に書き出し(ステ
ップS69)、処理を終了する。
【0121】これにより、表示装置80の画面に括り表
のデータ行部の初期画像が表示される。次に、図10の
フローチャートを参照しながら、括り表の表示中に、そ
の下方に表示される列名一覧表示の処理を説明する。
【0122】まず、列幅情報テーブル43を生成する
(ステップS81)。この処理は、図5(a)に示すよ
うに、表データ属性情報テーブル15aの列幅の行を参
照して、括り表の各列i(1≦i≦n)の列幅Wiを、
列幅情報テーブル43の当該フィールドに設定すると共
に、表データ表示制御部70内の列名表座標情報73を
参照して、各列iの始点座標Xiを設定する処理であ
る。
【0123】続いて、各列iの列幅Wiを累算して、そ
れらの合計値を、変数「幅合計」に代入する(ステップ
S82)。次に、「幅合計>表幅」であるか判断する
(ステップS83)。そして、幅合計が表幅より大きけ
れば(ステップS83、YES)、列幅情報テーブル4
3を検索して、最大幅のWj(1≦j≦n)を見つけ出
し、該Wjの値を1だけ減少させ(ステップS84)、
ステップS82に戻り、ステップS82で新たな幅合計
を算出する。そして、再び、「幅合計>表幅」であるか
判断する(ステップS83)。
【0124】このようにして、ステップS83で、幅合
計が表幅以下となるまで、ステップS82〜S84の処
理を繰り返す。そして、ステップS83で、幅合計が表
幅より大きくないと判断されると(ステップS83、N
O)、変数CLに、現在、表示装置80の画面に表示さ
れている左端の列の番号を代入すると共に、変数CR
に、表示装置80の画面に表示されている右端の列の番
号を代入する(ステップS85)。
【0125】続いて、列幅情報テーブル43内の各列i
の始点座標Xiと列幅Wiを参照して、図5(b)に示
すように、列名一覧データバッファ60に、各列iの見
出し名を書き込む(ステップS86)。
【0126】次に、列幅情報テーブル43の各列iのフ
ィールドのインデックス番号を示す変数TBL_IDX
に、初期値“1”を設定する(ステップS87)。続い
て、該変数TBL_IDXの値が、括り表の列数よりも
大きいか、すなわち、TBL_IDX>列数であるか判
断する(ステップS88)。
【0127】そして、TBL_IDX>列数でなければ
(ステップS88、NO)、CL≦TBL_IDXで、
かつ、TBL_IDX≧CRであるか判断する(ステッ
プS89)。この判断処理は、TBL_IDXが、現
在、表示装置80の画面に表示されている列のインデッ
クス番号であるかを判断する処理である。
【0128】ステップS89で、上記2つの不等式が共
に成立すると判断すれば(ステップS89、YES)、
該TBL_IDXが示す列(表示列)の枠線及び背景色
を、列名一覧データバッファ60にセットする(ステッ
プS90)。
【0129】一方、ステップS89で、上記2つの不等
式が共に成立しないと判断すれば(ステップS89、N
O)、該TBL_IDXが示す列(非表示列)の枠線及
び背景色を、列名一覧データバッファ60にセットする
(ステップS91)。
【0130】ステップS90またはステップS91の処
理が終了した後、TBL_IDXの値を1つインクリメ
ントして(ステップS92)、ステップS88に戻る。
ステップS88〜S92の処理は、ステップS88で、
TBL_IDXの値が括り表の列数よりも大きいと判断
されるまで(ステップS88、YES)、繰り返され
る。
【0131】以上のようにして、列名一覧データバッフ
ァ60に、括り表の全ての列について、それらが、現
在、表示中であるか否かに応じて、表示列または非表示
列の枠線・背景色が設定される。
【0132】ステップS88でYESと判断されると、
列名一覧データバッファ60の内容を基に、表示装置8
0に列名一覧表示データを書き出し(ステップS9
3)、処理を終了する。
【0133】この結果、表示装置80の画面には、括り
表の下方に、列名が一覧表示される。この列名一覧表示
においては、画面に表示されている列の列名と表示され
ていない列の列名とが、互いに異なる枠線及び背景色で
表示される。したがって、ユーザは、列名一覧表示を見
るだけで、現在、表示されている列と表示されていない
列とを、一目で認識できる。
【0134】尚、本実施形態では、枠線と背景色の両方
で、表示列の列名と非表示列の列名とを区別して表示し
ているようにしているが、枠線または背景色のいずれか
一方のみで、区別して表示するようにしてもよい。ま
た、表示列の列名を高輝度で、非表示列の列名を低輝度
で表示するようにして、輝度の違いにより、上記2つの
列が区別できるように表示するようにしてもよい。ま
た、これら以外に、表示列の列名のみをフリッカ表示さ
せることにより、表示列と非表示列とを区別できるよう
にしてもよい。つまり、列名一覧表示において、表示列
と非表示列とが区別できるのであれば、いかなる表示形
態であってもよい。
【0135】次に、図11のフローチャートを参照しな
がら、本実施形態において、横スクロール操作が行われ
た場合の処理を説明する。まず、発生した表示クリック
イベントが、表示される列を1列だけ右方向に移動させ
る(右列スクロールさせる)右列表示クリックイベント
であるか、または表示される列を1列だけ左方向に移動
させる(左列スクロールさせる)左列表示クリックイベ
ントであるか判別する(ステップS101)。
【0136】そして、右列スクロールボタン105Rが
操作された右列表示クリックイベントであると判別すれ
ば(ステップS101,YES)、フラグである縦隙間
FLG(不図示)を“OFF”に設定する(ステップS
102)。次に、表データ属性情報テーブル15aを検
索して、“1”となっている最左列の列表示状態フラグ
を“2”に更新し、その最左列の右列の列番号を変数C
Lに設定する(ステップS103)。続いて、縦隙間F
LGを“ON”に設定し(ステップS104)、ステッ
プS109に移る。
【0137】このように、右列表示クリックイベントが
発生すると、表データ属性情報テーブル15aにおける
“1”(表示列)となっている最左列が1列右に移動
し、縦隙間FLGが“ON”に設定される。
【0138】一方、ステップS101で、左列スクロー
ルボタン105Lが操作された左列表示クリックイベン
トであると判別すれば(ステップS101,NO)、縦
隙間FLGを“OFF”に設定する(ステップS10
5)。次に、表データ属性情報テーブル15aを検索し
て、“2”となっている最左列の列表示状態フラグを
“1”に更新し、その最左列の列番号を変数CLに設定
する(ステップS106)。
【0139】このように、左列表示クリックイベントが
発生すれば、表データ属性情報テーブル15aにおける
“1”(表示列)となっている最左列が1列右に移動
し、縦隙間FLGが“ON”に設定される。
【0140】次に、表データ属性情報テーブル15aを
検索して、“0”の列表示状態フラグが存在するか判断
する(ステップS107)。そして、“0”の列表示状
態フラグが存在すれば(ステップS107、YES)、
縦隙間FLGを“ON”に設定し(ステップS10
8)、ステップS109に移る。一方、ステップS10
7で、“0”の列表示状態フラグが存在しなければ(ス
テップS107、NO)、ステップS109に移る。
尚、ステップS107の判別は、固定列(スクロールさ
れない列)が無い表についても考慮したものである。こ
のような表の場合には、ステップS107の判別は、常
に、NOとなる。
【0141】ステップS109では、表データ属性情報
テーブル15aを参照して、変数『列表示幅』に、列表
示状態フラグが“0”である全ての列の列幅の総和を設
定する。次に、変数iを“0”に初期設定する(ステッ
プS110)。
【0142】次に、変数『列表示幅』に列番号が(CL
+i)である列の列幅を加算し、該加算結果を、変数
『列表示幅』の新たな値とする(ステップS111)。
続いて、表幅<変数『列表示幅』であるか判別し(ステ
ップS112)、表幅が変数『列表示幅』以下であれば
(ステップS112、NO)、変数iの値を1だけイン
クリメントし(ステップS113)、ステップS111
に戻る。以上のようにして、変数iの値を1つづつイン
クリメントしながら、ステップS112で、変数『列表
示幅』が表幅より大きいと判別されるまで(ステップS
112、YES)、ステップS111〜S113の処理
を繰り返す。
【0143】そして、ステップS112で変数『列表示
幅』が表幅より大きいと判別されると、表幅を超えた列
番号(=CL+i)より一つ小さい列番号を、変数CR
に設定する(ステップS114)。
【0144】以上の処理は、表示装置80の画面に表示
される最右列の列番号を求める処理である。次に、表デ
ータ属性情報テーブル15aにおいて、列番号がCLか
らCRまでの列の列状態フラグを“1”に設定する。ま
た、列番号が(CR+1)以降の列状態フラグを“2”
に設定する(ステップS115)。
【0145】続いて、上述した図10のフローチャート
に示す列名一覧表示処理を実行する(ステップS11
6)。これにより、表示装置80の画面に、上記形態
で、括り表の列名の一覧が表示される。すなわち、括り
表において、左列スクロールまたは右列スクロールの結
果、新たに表示される列と新たに表示されなくなかった
列の表示形態が変化する。
【0146】次に、階層部のスクロール列部31Fの表
示データ領域を設定する。すなわち、階層部データバッ
ファ31Bのスクロール列部31F内での表示装置80
に表示するスクロールデータ(Sデータ)の領域を設定
する。このSデータの左上隅の座標を(XS,YS)、
右下隅の座標を(XE,YE)とする。そして、XS
に、{隠れた(表示されなくなった)列の列幅−(縦隙
間データの幅+所定幅)}の値を代入する。ここで、該
所定幅は、隠れた最右列のデータの一部の表示域の幅で
ある。YSは変更しない。XEには、(表幅バッファ−
XS)の値を代入する。YEは変更しない(ステップS
117)。
【0147】続いて、階層部データバッファ31Bのス
クロールデータ域において、ステップS117で設定さ
れた左上隅座標(XS,YS)、右上隅座標(XE,Y
E)で規定される矩形領域のデータ(Sデータ)を表示
装置80に書き出す(ステップS118)。
【0148】次に、データ行部データバッファ31Cの
表示データ領域を設定する。すなわち、データ行部デー
タバッファ31Cのスクロール列部31F内での表示装
置80に表示するスクロールデータの領域を設定する。
このスクロールデータの左上隅の座標を(DXS,DY
S)、右下隅の座標を(DXE,DYE)とする。そし
て、DXSに、ステップS117で決定されたXSの値
を代入する。DYSは変更しない。DXEには、(表幅
バッファ−XS)の値を代入する。DYEは変更しない
(ステップS119)。
【0149】続いて、データ行部データバッファ31C
のスクロールデータ域において、ステップS119で設
定された左上隅座標(DXS,DYS)、右上隅座標
(DXE,DYE)で規定される矩形領域のデータを表
示装置80に書き出す(ステップS120)。
【0150】次に、縦隙間FLGが“ON”であるか判
別し(ステップS121)、“ON”であれば(ステッ
プS121、YES)、縦隙間データ領域を設定する。
すなわち、表示装置80の画面に表示する縦隙間データ
の該画面上での左上隅の座標(X,Y)を設定する。こ
のとき、Xには、固定列の幅の総和(固定列部31Eの
幅)を設定する。Yには“0”を設定する(ステップS
122)。
【0151】そして、表示装置80に、左上隅の座標と
して、ステップS122で設定された(X,Y)を指定
して、縦隙間データを表示装置80に書き出し(ステッ
プS123)、処理を終了する。
【0152】ステップS118、ステップS120、及
びステップS123の処理により、表示装置80の画面
上で、横スクロール操作に応じて、スクロール領域のデ
ータがスクロールすると共に、固定列部とスクロール列
部との間に縦隙間データが表示される。また、スクロー
ルによって固定列部に隠された列の一部が表示される。
この表示の例を、図24及び図25に示す。
【0153】図24は、図23の初期表示画面におい
て、右列スクロールを行った場合の表示例であり、「売
上金」の列が右端の一部を除いて、隠れて表示されてい
る。そして、固定列部113とスクロール列部115と
の間に縦隙間データ(空白)が表示されている。また、
右列スクロールを行った結果、「在庫月数」が全て表示
されるようになると共に、新たに「当月」が表示され、
また、「08月」の一部も表示されている。これに伴
い、列名一覧表示101Bにおいては、「売上金」が非
表示列の表示形態に変化すると共に、「在庫月数」及び
「当月」が表示列の表示形態に変化している。
【0154】また、図25は、図24の状態において、
更に、左スクローを行い、商品売上実績表の右端まで表
示させた状態を示している。この場合、図24おいて表
示されていた「売上数」の列が表示されなくなり、「仕
入数」の列が右端の一部を除いて、隠れて表示されてい
る。そして、図25と同様に、固定列部113とスクロ
ール列部115との間に縦隙間データ(空白)が表示さ
れている。この結果、列名一覧表示101Cにおいて
は、「売上金」に加え、更に、「売上数」及び「仕入
数」が非表示列の表示形態に変化している。また、図2
4においては、非表示列の表示形態で表示されていた
「在庫月数」、「当月」「08月」、「07月」、及び
「06月」が、表示列の表示形態に変化している。
【0155】このように、本実施形態では、表示装置8
0の画面に表示されている列と表示されていない列(右
端の一部のみが表示される列も含む)とが、異なる形態
で表示される。また、固定列部31Eの裏に隠れて見え
なくなった列が存在する場合には、固定列部31Eとス
クロール列部31Fとの間に縦の隙間が表示されると共
に、該隠れている最右端の列(直前に隠された列)の右
端の一部が、上記縦隙間の右隣に表示される。したがっ
て、ユーザは、固定列部31Eによって隠されている列
が存在することを、視覚的に、即座に、理解できると共
に、該隠されている列の列名も、直ちに、知ることがで
きる。
【0156】次に、縦スクロール操作が行われたときの
本実施形態の動作を説明する。図12は、下行表示用の
縦スクロール(下行スクロール)のための下行スクロー
ルボタン103Dのクリック操作が1回行われる毎に、
実行される処理を説明するフローチャートである。
【0157】以下、動作の理解を容易にするために、図
2の表データテーブル11aが図13(a)に示す内容
となっている場合を例にして、説明する。図13(a)
に示す表データテーブル11aの各行の左に添えられて
いる「1」から始まる連番の数字は行番号を示してい
る。同図(a)に示す表データテーブル11aにおいて
は、階層レベル“1”のデータとして、「電卓」(行番
号1の行データ)と「時計」(行番号33の行データ)
がある。また、「電卓」の下位の階層レベル“2”のデ
ータとして、「DIARY」(行番号2の行データ)及
び「関数」(行番号29の行データ)。そして、「DI
ARY」の下位の階層レベル“3”のデータとして、行
番号3〜28の行データがある(「商品Aa」、「商品
Ab」、・・・・「商品Az」)。また、「関数」の下
位の階層レベル“3”のデータとして、行番号30〜3
2の行データがある(「商品Ex」、「商品Ey」、
「商品Ez」)。
【0158】また、「時計」の下位の階層レベル“2”
のデータとして、「デジタル」(行番号34の行デー
タ)がある。そして、「デジタル」の下位の階層レベル
“3”のデータとして、行番号35〜40の行データが
ある(「商品Ba」、「商品Bb」、・・・・「商品B
f」)。
【0159】同図(b)は、同図(a)に示す表データ
テーブル11aの初期表示画面の左上部を示す図であ
る。同図(b)に示すように、階層レベル“3”の行デ
ータは、表の第4行目以降に表示される。同図(a)に
示す現在表示先頭行カウンタ111は、表示装置80の
画面に表示されている表の行データの中で、下行表示の
クリック操作に応じてスクロールされる行データの行番
号が格納されるカウンタである。
【0160】図12のフローチャートの説明を始める。
まず、変数WK−TOPに、現在表示先頭行カウンタの
値を代入する(ステップS131)。該現在表示先頭行
カウンタは、下行表示または、後述する上行表示の縦ス
クロール操作が行われた場合において、表示装置80の
画面に表示される表の階層部の最下位行に表示される階
層レベルが“3”の行データの行番号を格納するカウン
タである。尚、該行データは、該表において、全体が表
示される先頭の行データである。
【0161】次に、WK−TOPに1を加えた値が、表
データ属性情報テーブル15aの表行数よりも大きいか
判別する(ステップS132)。大きい場合には(ステ
ップS132、YES)、もはや、下行スクロールすべ
き行データが存在しないので、スクロール不要とし、処
理を終了する。
【0162】一方、大きくない場合には(ステップS1
32、NO)、フラグである上位レベル変更FLGを
“OFF”に設定する(ステップS133)。この上位
レベル変更FLGは、本フローチャートにおいては、無
条件に横隙間表示を不要とするか否かを決定する切替え
フラグであり、OFFの場合には、横隙間表示が不要で
あることを示す。この上位レベル変更FLGは、図12
のフローチャートの処理が、一回の下行表示のクリック
が繰り返される毎に、毎回、“OFF”にリセットされ
る。
【0163】続いて、現在表示先頭行カウンタ111の
値を1だけインクリメントし(ステップS134)、現
在表示先頭行カウンタ1の指す行の階層レベルを表デー
タテーブル11aを参照して調べ、該階層レベルを変数
idxに代入する(ステップS135)。現在表示先頭
行カウンタ111の値は、初期表示状態の際に、図6の
フローチャートのステップS44において“3”に初期
設定される。したがって、図13(b)に示す表の初期
表示画面においては、現在表示先頭行カウンタ111の
値は“3”に設定されている。よって、ステップS13
4の最初の処理において、現在表示先頭行カウンタ11
1の値は“4”に設定される。
【0164】次に、変数L−idxに、idx+(id
x−1)の値を代入する(ステップS136)。L−i
dxは、図8(b)の階層部データバッファ31Bか
ら、第i行のLバッファ(i)を読みだすためのインデ
ックスを格納する変数であり、該iの値(i=1〜6)
が設定される。この場合、L−idxの値は“5”とな
る。
【0165】続いて、変数Lev1に、現在表示先頭行
カウンタ111の設定されている行番号の行データの階
層レベルを設定すると共に、変数Lev2に、該行番号
より一つ手前の行番号の行データの階層レベルを設定す
る(ステップS137)。
【0166】この結果、Lev1及びLev2の値が、
共に、“3”に設定される。今までの処理結果を、図1
4(a)に示す。尚、図14(a)の右側に示す階層部
データバッファ31Bは、あくまでも、模式図であり、
Lバッファ(1)、Lバッファ(2)、Lバッファ
(3)、Lバッファ(4)、Lバッファ(5)、及びL
バッファ(6)を、便宜上、それぞれ、その先頭アドレ
スを指すポインタL1−1、L1−2、L2−1、L2
−2、L3−1、L3−2で示している。また、実際に
は、階層部データバッファ管理テーブル31Dの「行高
さ」フィールドに設定される行高さ情報を、あたかも、
階層部データバッファ31Bに格納されるように示して
いるが、これは、動作説明を理解しやすくためである。
後述する、図15(a)等の、図14(a)と同様な図
面においても、同様な形式で図示している。
【0167】次に、上位レベル変更FLGが“OFF”
であるか判別し(ステップS138)、“OFF”であ
れば(ステップS138、 YES)、ステップS139
に移る。現時点では、上位レベル変更FLGは“OF
F”であるので、ステップS139に移る。
【0168】続いて、Lev1<Lev2であるか判別
する(ステップS139)。この判別は、下スクロール
により、新たに、表の第4行目に表示される行データ
が、別階層に属する行データに変化するかを判別する処
理であり、現在表示先頭行カウンタ111に格納される
行番号の行データに着目すれば、下スクロール操作前の
該行データが属する階層レベルが変化することに該当す
る。すなわち、例えば、図13(a)に示す例では、該
行番号が“28”から“29”に変化する場合(階層レ
ベルが、“3”から“2”に変化)、該行番号が“3
2”から“33”に変化する場合(階層レベルが、
“3”から“1”に変化)に該当する。
【0169】ステップS139で、Lev1<Lev2
であれば(ステップS139、YES)、上位レベル変
更FLGを“ON”に設定し(ステップS140)、L
バッファ(L−idx)にLバッファ(L−idx+
1)の内容をコピーする(ステップS141)。一方、
ステップS139で、Lev1<Lev2でなければ
(ステップS139、NO)、ステップS141に移
り、Lバッファ(L−idx)にLバッファ(L−id
x+1)の内容をコピーする。
【0170】この場合、Lev1=3、Lev2=3な
ので、ステップS139でNOと判別され、ステップS
140の処理は行わず、ステップS141の処理を行
う。この結果、図14(a)に示すように、Lバッファ
(6)に格納されている「商品Aa」の行データがLバ
ッファ(5)に格納され、Lバッファの内容が“NUL
L”から「商品Aa」の行データに変化する。
【0171】続いて、Lバッファ(L−idx+1)
に、現在表示先頭行カウンタ111に格納されている行
番号のデータ(現在先頭表示行データ)をコピーする
(ステップS142)。この結果、図14(a)に示す
ように、現在表示先頭行カウンタ111に格納されてい
る行番号(=4)の「商品Ab」の行データがLバッフ
ァ(6)に格納される。
【0172】次に、Dバッファ(L−idx)の「行番
号」フィールドに、階層部データバッファ31Bの(L
−idx)に格納されている行データの行番号を格納す
ると共に、「行高さ」フィールドに、行高さ/2(=H
/2)を格納する(ステップS143)。
【0173】この結果、階層部データバッファ管理テー
ブル31Dの第5行の「行番号」フィールド及び「行高
さ」フィールドに、それぞれ、“3”、“ H/2”が
格納される。
【0174】続いて、Dバッファ(L−idx+1)の
「行番号」フィールドに、階層部データバッファ31B
の(L−idx+1)に格納されている行データの行番
号(現在表示先頭行カウンタ111の値)を格納すると
共に、「行高さ」フィールドに、行高さ(=H)を格納
する(ステップS144)。
【0175】この結果、階層部データバッファ管理テー
ブル31Dの第5行の「行番号」フィールド及び「行高
さ」フィールドに、それぞれ、“4”、“H”が格納さ
れる。
【0176】次に、idxの値を1つインクリメントし
(ステップS149)、該idxの値が、表属性情報テ
ーブル13の階層レベル数より大きいか判別する(ステ
ップS150)。本実施形態の場合、階層レベル数が
“3”であり、現時点のidxの値が“4”であるの
で、ステップS149でYESと判別され、前記階層L
画像、前記階層S画像を表示装置80に書き出し(ステ
ップS151)、データ行部データバッファ31Cの当
該データを表示装置80に書き出し(ステップS15
2)、処理を終了する。ステップS151とステップS
152の処理は、上述した図7のフローチャートに示す
処理である。これらの処理により、表示装置80の画面
には、下スクロール後の表が表示される。
【0177】この結果、表示装置80の画面に表示され
る表の階層部とデータ行部は、図13(b)に示す状態
から図14(b)に示す状態に変化する。すなわち、
「商品Aa」の行データが上にスクロールされ、その下
半分のデータのみが表示されると共に、該下半分のデー
タと「DIARY」の行データとの間に、横隙間データ
C3(隙間データバッファ32のポインタC3で指され
るアドレスに格納されている横隙間データ)が表示され
る。したがって、ユーザは、「DIARY」に属する項
目として、「商品Ab」の前に、他の項目が存在するこ
とを、視覚的に、容易かつ即時に、認識することができ
る。
【0178】以後、下行表示クリックイベントが発生す
る毎に、図12のフローチャートの処理が実行され、上
述した処理が、現在表示先頭行カウンタ111の値が
“28”になるまで実行され、図14(b)に示すよう
な形態で、行番号が“4”〜“28”までの行データが
表示される。
【0179】次に、現在表示先頭行カウンタ111が
“28”になっているとき、すなわち、「DIARY」
に属する「商品Az」が階層部の最終行(L3)に表示
されているときに、下行クリック操作が行われた場合
の、図12のフローチャートの処理を、図15を参照し
ながら説明する。
【0180】この場合、ステップS131でWK−TO
Pの値が“28”に設定され、ステップS132で(W
K−TOP+1)の値が表データ属性情報テーブル15
aの表行数よりも小さいと判別され、ステップS133
で上位レベル変更FLGが“OFF”に設定される。
【0181】続いて、現在表示先頭行カウンタ111の
値が“29”に更新され、idxに“2”が設定され
る。そして、ステップS134で現在表示先頭行カウン
タ111の値が“29”に設定され、ステップS135
でidxの値が“2”に設定される。続いて、ステップ
S136で、L−idxの値が“3”に設定され、ステ
ップS137で、Lev1に“2”が、Lev2に
“3”が設定される。
【0182】この結果、idx、L−idx、Lev
1、及びLev2の値は、図15(a)に示すようにな
る。次に、ステップS138では、上位レベル変更FL
Gが“OFF”なるので、NOと判別され、ステップS
139に移る、ステップS139では、Lev1=2、
Lev2=3となっているので、ステップS139でY
ESと判別され、上位レベル変更FLGを“ON”に設
定する(ステップS140)。
【0183】続いて、ステップS141で、Lバッファ
(3)にLバッファ(4)の内容がコピーされる。この
結果、図15(a)に示すように、Lバッファ(3)の
内容は、“NULL”から「DIARY」の行データに
書き換えられる。
【0184】次に、ステップS142で、現在表示先頭
行カウンタ111に設定されている行番号(=29)の
行データが、Lバッファ(4)にコピーされる。この結
果、図15(a)に示すように、Lバッファ(4)の内
容は、「DIARY」の行データから「関数」の行デー
タに書き換えられる。
【0185】続いて、ステップS143で、Dバッファ
(3)の「行番号」フィールドと「行高さフィールド」
に、それぞれ、“2”と“1/2H”が設定され、ステ
ップS144で、Dバッファ(4)の「行番号」フィー
ルドと「行高さフィールド」に、それぞれ、“29”と
“H”が設定される。
【0186】次に、ステップS145で、idxの値が
“3”に設定される。この結果、idx=階層レベル数
となるので、ステップS150の判別はNOとなり、ス
テップS134に戻る。そして、ステップS134で、
現在表示先頭行カウンタ111の値が“30”に設定さ
れる。以後、ステップS136〜S137の処理が行わ
れ、L−idxが“5”、Lev1とLev2が、共
に、“3”に設定される。
【0187】そして、次のステップS138で、上位レ
ベル変更FLGが“OFF”でないと判別され、Lバッ
ファ(L−idx)の内容を消去する(ステップS14
5)。この結果、図15(a)に示すように、L(5)
の内容が「商品Ay」の行データから“NULL”にな
る。
【0188】続いて、Lバッファ(L−idx+1)
に、現在表示先頭行カウンタ111に格納されている行
番号の行データをコピーする(ステップS146)。こ
の結果、図15(a)に示すように、Lバッファ(6)
に行番号が“30”の「商品Ex」の行データが格納さ
れる。
【0189】次に、Dバッファ(L−idx)の「行番
号」フィールドを“−”にすると共に、Dバッファの
「行高さ」フィールドに“0”を設定する(ステップS
147)。続いて、Dバッファ(L−idx+1)の
「行番号」フィールドに、階層部データバッファ31B
のLバッファ(L−idx+1)に格納されている行デ
ータの行番号(現在表示先頭行カウンタ111の値)を
設定すると共に、Dバッファ(L−idx+1)の「行
高さ」フィールドに“行高さ”(=H)を設定する(ス
テップS148)。
【0190】続いて、ステップS149でidxを
“4”に増加させ、ステップS150で、idx>階層
レベル数であると判別し、ステップS151、S152
を行い、処理を終了する。この結果、表示装置80の画
面には、図15(b)に示す形態で、表の階層部及びデ
ータ行部の上位行が表示される。
【0191】すなわち、この場合、階層レベル“1”の
「電卓」に関する第1の階層レベル“2”の「DIAR
Y」に属する最終データ「商品Az」が階層レベル
“3”の先頭データとして完全に表示されている状態
で、下表示のクリック操作が行われたことにより、「D
IARY」に属するデータの表示が画面上から消える
が、「DIARY」の下半分の行データは表示され、該
行データと「電卓」の行データとの間に、階層レベル2
に対応する横隙間データC2(隙間データバッファ32
のポインタC2の指すアドレスに格納されている隙間デ
ータ)が表示される。
【0192】また、新たに、「関数」の行データが階層
レベル“2”の行データとして表示され、その表示行に
続いて、「関数」に属する階層レベル“3”のデータが
先頭から表示される。
【0193】このとき、表には、「電卓」の行データと
「関数」の行データの間に、隙間を空けて、「DIAR
Y」の下半分の行データが表示されるので 、ユーザ
は、階層レベル“1”の「電卓」について、階層レベル
“2”の項目として、「関数」の前に、別の項目が存在
することを、視覚的に、即座かつ容易に、認識すること
ができる。
【0194】続いて、下行表示のクリック操作が行われ
ると、再び、図12のフローチャートの処理が実行され
る。このとき、現在表示先頭行カウンタ111の値は
“30”になっている。したがって、ステップS131
〜S133の処理が実行されて、ステップS133で上
位レベル変更FLGが“OFF”に設定される。そし
て、ステップS134で、現在表示先頭行カウンタ11
1の値が“31”に設定される。
【0195】次に、ステップS135で、idxの値が
“3”に設定され、ステップS136でL−idxの値
が“5”に設定される。そして、ステップS137で、
Lev1とLev2に、共に、“3”に設定される。続
いて、ステップS138で、上位レベル変更FLGが
“OFF”であると判別され、ステップS139で、L
ev1<Lev2でないと判別され、ステップS141
〜ステップS144の処理が実行される。
【0196】このステップS141〜S144の処理の
場合、L−idxの値は“5”であるので、Lバッファ
(5)にLバッファ(6)の内容(「商品Ex」の行デ
ータ)がコピーされ(ステップS141)、Lバッファ
(6)に行番号が“31”の行データである「商品E
y」の行データがコピーされる(ステップS142)。
次に、Dバッファ(5)の「行番号」フィールドと「行
高さ」フィールドに、それぞれ、“30”と“H/2”
が設定され(ステップS143)、続いて、Dバッファ
(6)の「行番号」フィールドと「行高さ」フィールド
に、それぞれ、“31”と“2”が設定される。
【0197】そして、ステップS149でidxの値が
“4”に設定され、ステップS150でidx>階層レ
ベル数と判別され、ステップS151、S152の処理
が実行され、処理を終了する。
【0198】この結果、表示装置80の画面に表示され
る表の表示状態は、図15(b)に示す状態から、「関
数」の行データの下に、横隙間データC3を挟んで「商
品Ex」の行データの下半分が表示され、該「商品E
x」の行データの下半分に続いて、「商品Ey」の行デ
ータが表示される状態に変化する。
【0199】続いて、下行表示クリック操作を行うと、
今度は、「商品Ey」の行データが上にスクロールさ
れ、横隙間データC3の下に、その下半分が表示される
と共に、それに続いて、「商品Ez」の行データが上に
スクロールして表示される。
【0200】上記のような形態で、「関数」に属する項
目の行データが、順に、下行スクロールして表示される
ので、ユーザは、「関数」に属する表示先頭項目に、
「商品Ey」や「商品Ez」の行データが表示されるよ
うになっても、「関数」に属する項目が、隠されて表示
されていることを知ることができる。
【0201】次に、階層部の最下位行に、「商品Ez」
の行データが表示されている状態で、下行表示のクリッ
ク操作が行われた場合の、図12のフローチャートの処
理を、図16を参照しながら、説明する。
【0202】この場合、現在表示先頭行カウンタ111
の値は“32”となっている。したがって、まず、ステ
ップS131〜S133の処理が実行され、ステップS
133で上位レベル変更FLGが“OFF”に設定され
る。次に、ステップS134で、現在表示先頭行カウン
タ111の値が“33”に設定される。続いて、ステッ
プS135で、idxの値に“1”が設定される。
【0203】ステップS134〜S150のループ処理
は、ステップS149でidxの値が1インクリメント
されながら、ステップS150で、idx>階層レベル
数と判別されるまで繰り返されるので、今回の場合、3
回繰り返されることになる。
【0204】まず、最初のループ処理においては、ステ
ップS136で、L−idxの値が“1”に設定され、
続いて、ステップS137で、Lev1とLev2に、
それぞれ、“1”と“3”が設定される。そして、ステ
ップS138で、上位レベル変更FLGが“OFF”と
判別され、ステップS139で、Lev1<Lev2と
判別される。この結果、ステップS140で、上位レベ
ル変更FLGが“ON”に設定される。
【0205】そして、ステップS141〜S144の一
連の処理が実行され、Lバッファ(1)とLバッファ
(2)、及びDバッファ(1)とDバッファ(2)の
「行番号」フィールド並びに「行高さ」フィールドの内
容が書き換えられる。この結果、図16(b)に示すよ
うに、Lバッファ(1)の内容が“NULL”から「電
卓」の行データに更新される(ステップS141)。ま
た、Lバッファ(2)の内容が「電卓」の行データから
「時計」の行データに更新される(ステップS14
2)。また、Dバッファ(1)の「行番号」フィールド
の内容が、“−”から“1”に更新されると共に、Dバ
ッファ(1)の「行高さ」フィールドの内容が、“0”
から“1/2H”に更新される(ステップS143)。
また、更に、Dバッファ(2)の「行番号」フィールド
の内容が、“1”から“33”に更新されるが、Dバッ
ファ(2)の「行高さ」フィールドの内容は、“H”の
ままで、更新されない(ステップS144)。
【0206】次に、ステップS149で、idxの値が
“2”に更新され、ステップS150で、NOと判別さ
れ、ステップS134に戻り、2回目のループ処理が開
始される。今回のステップS134では、現在表示先頭
行カウンタ111の値が“34”に設定される。そし
て、ステップS135でidxの値が“2”に設定され
る。
【0207】次に、ステップS136で、L−idxの
値が“2”に設定され、続いて、ステップS137で、
Lev1とLev2に、それぞれ、“2”と“1”が設
定される。そして、ステップS138で、上位レベル変
更FLGが“OFF”でないと判別され、ステップS1
45に移る。
【0208】ステップS145では、Lバッファ(3)
の内容を、「DIARY」の行データから“NULL”
に消去する。次に、ステップS146で、Lバッファ
(4)に、行番号“34”の「デジタル」の行データを
コピーする。続いて、ステップS147で、Dバッファ
(3)の「行番号」フィールドと「行高さ」フィールド
に、それぞれ、“−”と“0”を設定する。そして、ス
テップS148で、Dバッファ(4)の「行番号」フィ
ールドと「行高さ」フィールドに、それぞれ、“34”
と“H”を設定する。この結果、Lバッファ(3)、L
バッファ(4)、Dバッファ(3)、及びDバッファ
(4)の内容は、図16(a)に示すようになる。
【0209】次に、ステップS149で、idxの値が
“3”に設定され、ステップS150の判別がNOとな
り、再び、ステップS134に戻り、3回目のループ処
理を開始する。このループ処理において、ステップS1
34で、現在表示先頭行カウンタ111の値が“35”
に設定され、続いて、ステップS135〜S137の処
理が行われる。この結果、idxの値が“3”、L−i
dxの値が“5”、Lev1とLev2の値が、それぞ
れ、“3”と“2”に設定される。
【0210】続いて、ステップS138で、上位レベル
変更FLGが“OFF”でないと判別され、再び、ステ
ップS145〜S148の処理を実行する。この結果、
Lバッファ(5)、Lバッファ(6)、Dバッファ
(5)、及びDバッファ(6)が更新される。すなわ
ち、図16(a)に示すように、Lバッファ(5)の内
容が「商品Ey」の行データから“NULL”に更新さ
れ、Lバッファ(6)の内容が「商品Ex」の行データ
から「商品Ba」の行データに更新される。また、Dバ
ッファ(5)の「行番号」フィールドと「行高さ」フィ
ールドに、それぞれ、“−”と“0”が設定され、Dバ
ッファ(6)の「行番号」フィールドと「行高さ」フィ
ールドに、それぞれ、“35と“H”が設定される。
【0211】次に、ステップS149で、idxの値が
“4”に設定され、ステップS150の判別がYESと
なり、ステップS151、S152の処理を行い、処理
を終了する。この結果、表示装置80の画面には、図1
6(b)に示すような形態で、表が表示される。
【0212】すなわち、階層部の1行目が、「電卓」の
行データの表示から、横隙間データC1と「電卓」の行
データの下半分の表示に変化する。また、階層部の2行
目に「時計」の行データが表示される。そして、階層部
の3行目に、「デジタル」の行データが表示され、4行
目に「商品Ba」が表示される。
【0213】このように、下行スクロールにより、「電
卓」に属するデータが画面から消え、「時計」に属する
先頭のデータが階層部の最下位行に表示されるようにな
ると、階層部の先頭行の上半分が隙間表示になり、その
下半分に「電卓」の行データの下半分が表示されるよう
になる。そして、階層部の2行目に「時計」の行データ
が表示される。したがって、ユーザは、表において、
「時計」項目のデータの前に、別の項目(この場合、
「電卓」)のデータが隠されていることを、視覚的に、
即座かつ容易に認識することができる。
【0214】次に、図17のフローチャートを参照しな
がら、上行表示の縦スクロール処理を説明する。ユーザ
が、上行スクロールボタン103Uをクリックする毎に
(上行表示クリックイベントが発生する毎に)、図17
のフローチャートの処理が実行される。尚、図17のフ
ローチャートにおいて、上述した図12のフローチャー
トで使用されている変数またはフラグと同一の変数及び
フラグは、同一の表記をしている。また、このフローチ
ャートの説明においても、表データテーブル11aの内
容が、図13(a)に示す状態であることを例にして、
説明する。
【0215】まず、変数WT−TOPに、現在表示先頭
行カウンタ111の値を設定する(ステップS16
1)。表の初期表示においては、上述したように、現在
表示先頭行カウンタ111の値は“3”に設定される。
【0216】次に、WK−TOPの値から1を減算した
値が、表データ属性情報テーブル15aの階層レベル数
よりも小さいか判別する(ステップS162)。この判
別は、上行表示、すなわち、下スクロールにおいて、表
示データバッファ31に、もはや、スクロールすべきデ
ータが無くなったかを判別する処理である。この場合、
階層レベル数は“3”であるので、現在表示先頭行カウ
ンタ111の値が“3”になった場合、すなわち、表示
装置80の画面が、図13(b)に示すような初期表示
画面または、スクロール操作を何回か行った後、該初期
画面と同様な画面になっているときに、上行表示(下ス
クロール)のクリック操作が行われた場合に、ステップ
S162の判別がYESとなり、処理を終了する。
【0217】一方、ステップS162の判別がNO、す
なわち、現在表示先頭行カウンタ111の値が“4”以
上であれば、上位レベル変更FLGを“OFF”に設定
する(ステップS163)。
【0218】次に、idxに、現在表示先頭行カウンタ
111に設定されている行番号の行データの階層レベル
を代入する(ステップS164)。続いて、L−idx
に{idx+(idx−1)}の値を代入する(ステッ
プS165)。続いて、Lev1に現在表示先頭行カウ
ンタ111に設定されている行番号(現在表示先頭行カ
ウンタ111の指す行番号)より一つ手前の行番号の行
データの階層レベルを設定し、Lev2に現在表示先頭
行カウンタ111の設定されている行番号の行データの
階層レベルを設定する(ステップS166)。
【0219】次に、Lev1<Lev2であるか判別す
る(ステップS167)。この判別は、上行表示(下ス
クロール)により、表の階層部の最下位行に表示される
行データの属する上位項目の階層レベルが変化するか判
別する処理である。この変化は、現在表示先頭行カウン
タ111に設定されている行番号の行データの階層レベ
ルが変化することに対応する。図13(b)の例では、
現在表示先頭行カウンタ111の指す行番号が“35”
から“34”に変化する場合、“34”から“33”に
変化する場合、及び“30”から“29”に変化する場
合である。このような変化の場合、表の先頭に表示され
る階層レベルが“3”の行データが属する階層が、別の
階層(階層レベルが“2”または“1”の他の階層)に
変化する。
【0220】ステップS167で、Lev1<Lev2
でないと判別した場合には(ステップS167、N
0)、表データテーブル11aの現在表示先頭行カウン
タ111の指す行番号より“2”小さい行番号以前に存
在するLev1の指す階層レベルと同じ階層レベル、ま
たは、より上位の階層レベルの行データを先頭行方向に
検索する(ステップS168)。
【0221】そして、上記検索により、上記条件を満足
する行データが見つけ出さたか判別し(ステップS16
9)、見つけ出されれば(ステップS169、YE
S)、ステップS170へ、見つけ出されなければ(ス
テップS169、NO)、ステップS171へ進む。
【0222】ステップS170では、ステップS169
の検索において最初に見つけ出された行データが、現在
表示先頭行カウンタ111が指す行番号の行データと同
じ階層レベルであるか判別する。そして、同じ階層レベ
ルであれば(ステップS170、YES)、ステップS
171〜S174の処理を実行する。すなわち、まず、
Lバッファ(L−idx+1)にLバッファ(L−id
x)の内容をコピーする(ステップS171)。続い
て、Lバッファ(L−idx)に現在表示先頭行カウン
タ111の指す行番号の行データをコピーする(ステッ
プS172)。
【0223】次に、Dバッファ(L−idx+1)の
「行番号」フィールドに、ステップS171においてL
バッファ(L−idx+1)にコピーされた行データの
行番号を、「行高さ」フィールドに“行の高さ/2”
(=1/2H)を設定する(ステップS173)。続い
て、Dバッファ(L−idx)の「行番号」フィールド
に、ステップS171でLバッファ(L−idx)にコ
ピーされた行データの行番号(現在表示先頭行カウンタ
111に設定されている行番号)を、「行高さ」フィー
ルドに“行の高さ”(=H)を設定する(ステップS1
74)。
【0224】上記処理を、図18及び図19を参照しな
がら説明する。図18(a)に示すように、現在表示先
頭行カウンタ111の値が“37”であるとする。この
とき、同図(a)に示すように、階層部データバッファ
31BのLバッファ(1)には「電卓」の行データが、
Lバッファ(2)には「時計」の行データが、Lバッフ
ァ(3)には“NULL”が、Lバッファ(4)には
「デジタル」の行データが、Lバッファ(5)には「商
品Bb」の行データが、Lバッファ(6)には「商品B
c」の行データが格納されている。また、階層部データ
バッファ管理テーブル31DのDバッファ(1)の「行
高さ」フィールドには“1/2H”が、Dバッファ
(2)の「行高さ」フィールドには“H”が、Dバッフ
ァ(3)の「行高さ」フィールドには“0”が、Dバッ
ファ(4)の「行高さ」フィールドには“1/2H”
が、Dバッファ(5)の「行高さ」フィールドには“1
/2H”が、Dバッファ(6)の「行高さ」フィールド
には“H”が設定されている。尚、「行番号」フィール
ドに設定されている行番号の説明は省略する。
【0225】このとき、表示装置80の画面には、表が
同図(b)に示す形態で表示される。すなわち、上述し
た図14〜図16と同様に、階層部データバッファ31
BのLバッファ(1)〜(6)及び階層部データバッフ
ァ管理テーブル31DのDバッファ(1)〜(6)の内
容にしたがって、表の階層部とデータ行部の先頭行の行
データが表示される。この場合、現在、階層部の最下位
行には、「時計」の「デジタル」に属する商品データ
(行データ)である「商品Bc」が表示されており、
「電卓」に属する商品データが表示されていないため、
上述した理由により、「電卓」の行データは下半分のみ
が表示されている。また、同じく上述した理由により、
「デジタル」に属する2番目の商品データ「Bb」も下
半分だけが表示されている。
【0226】図18(b)に示す状態のときに、上行表
示のクリック操作がなされると、図17のフローチャー
トの処理が実行される。このとき、現在表示先頭行カウ
ンタ111の値は“37”となっている。
【0227】そして、ステップS161〜ステップS1
63の処理により、ステップS161でWK−TOPに
“37”が、ステップS163で、上位レベル変更FL
Gが“OFF”に設定される。そして、ステップS16
4で、idxの値が“3”に設定され、続いて、ステッ
プS165で、L−idxの値が“5”に設定される。
【0228】上記処理結果が、図19(a)に示されて
いる。次に、ステップS166で、Lev1とLev2
の値が、共に、“3”に設定される。そして、ステップ
S167でNOと判別され、ステップS166で、表デ
ータテーブル11aの検索が実行される。そして、表デ
ータテーブル11aの行番号が“35”の行データ(階
層レベルが“3”の行データ)が見つけ出される。この
結果、ステップS169及びステップS170の判別が
YESとなり、ステップS171〜S174の処理が実
行される。
【0229】この結果、Lバッファ(5)、(6)の内
容が、図19(a)に示すように更新される。また、D
バッファ(5)、(6)の内容は、「行番号」フィール
ドは更新されるが(不図示)、「行高さ」フィールドは
更新されない。
【0230】次に、現在表示先頭行カウンタ111の値
が1だけデクリメントされ(ステップS178)、同図
(a)に示すように、現在表示先頭行カウンタ111の
値は“36”となる。そして、ステップS198、S1
99の処理を実行し、処理を終了する。ステップS19
8、S199の処理は、それぞれ、図12のフローチャ
ートのステップS151、S52の処理と同様である。
【0231】以上の処理の結果、表示装置80の画面に
は、図19(b)に示す形態の表が表示される。この表
示状態において、更に、上行表示のクリックを行うと、
再び、図17のフローチャートの処理が実行される。こ
のとき、現在表示先頭行カウンタ111の値は“36”
であるので、まず、ステップS161で、WK−TOP
に“36”が設定される。そして、ステップS162〜
S166の処理が行われ、上位レベル変更FLGが“O
FF”に設定され、idx、L−idx、Lev1、及
びLev2の値が、図20(a)の示すようになる。
【0232】この結果、ステップS167でYESと判
別され、ステップS168で、表データテーブル11a
が検索される。そして、表データテーブル11aの行番
号“34”から行データの検索が開始され、行番号が
“34”の「デジタル」の行データが見つけ出される。
したがって、ステップS169の判別がYESとなり、
ステップS170に進む。ステップS170では、「デ
ジタル」の行データは階層レベルが“2”なので、NO
と判別される。
【0233】そして、ステップS175〜S178の処
理が実行される。すなわち、Lバッファ(L−idx+
1)にLバッファ(L−idx)をコピーする(ステッ
プS175)。次に、Lバッファ(L−idx)のデー
タを消去する(ステップS176)。続いて、Dバッフ
ァ(L−idx)の「行番号」フィールドに“−”を、
「行高さ」フィールドに“0”を設定し(ステップS1
77)、Dバッファ(L−idx+1)の「行番号」フ
ィールドに、ステップS175においてLバッファ(L
−idx+1)にコピーされた行データの行番号を、
「行高さ」フィールドに“H”を設定する(ステップS
178)。
【0234】以上の処理の結果、Lバッファ(5)、
(6)及びDバッファ(5)、(6)の内容が、図20
(a)に示すように更新される。次に、ステップS17
9で、現在表示先頭行カウンタ111の値が“35”に
設定され、続いて、ステップS198、S199の処理
を実行し、処理を終了する。
【0235】この結果、表示装置80の画面に表示され
る表の形態は、図19(b)に示す状態から図20
(b)に示す状態に変化する。この場合、下行スクロー
ルにより、階層部の最終行に、「デジタル」の先頭商品
項目である「商品Ba」の行データが表示されるように
なるので、隙間データC3の表示が消える。但し、「電
卓」に属する項目のデータが、画面に隠れているので、
階層部の2行目の表示は変化せず、この行には、「電
卓」の行データの下半分が隙間データC1の下に表示さ
れる。
【0236】次に、図20(b)に示す表示状態におい
て、上行表示のクリックが操作されると、再び、図17
のフローチャートの処理が実行される。このとき、現在
表示先頭行カウンタ111の値は“35”に設定されて
いる。
【0237】したがって、この場合の処理において、ま
ず、ステップS161で、WK−TOPに“35”が設
定され、ステップS162でNOと判別され、ステップ
S163で上位レベル変更FLGが“OFF”に設定さ
れる。
【0238】次に、ステップS164で、idxの値が
“3”に設定され、続いて、ステップS165〜S16
6の処理が実行される。この結果、L−idxの値が
“5”に設定され、Lev1とLev2が、共に、
“2”と“3”に設定される。
【0239】続いて、ステップS167でLev1<L
ev2と判別され、ステップS180に進む。ステップ
S180では、表データテーブル11aを、WK−TO
Pが指す行番号を起点として、先頭行方向に、該行番号
の行データと同一レベルの行データを検索する。そし
て、該検索により最初に見つけ出された行データの行番
号を、ポインタPに設定する(ステップS181)。こ
の結果、WK−TOPの現在値は“35”であるので、
ポインタPに“32”が設定される。
【0240】次に、表データテーブル11aのポインタ
Pの指す行番号より一つ小さい行番号(P−1)を起点
として、先頭行方向に、ステップS180において検索
された行データと同じ階層レベルか、それより上位の階
層レベルの行データを検索する。尚、この時、ポインタ
Pの値が“1”である場合は、検索すべき行データがな
いので、検索しない(ステップS182)。そして、該
検索により最初に見つけ出された行データの階層レベル
と、ステップS180で検索された行データのルが同じ
であるか判別する(ステップS183)。尚、この判別
において、上述したように、ポインタPの値が“1”で
あるときは、検索結果は得られないので、判別は“N
O”となる。
【0241】この場合、階層レベルが“3”である行番
号が“31”の行データが検索されるので、ステップS
183の判別はYESとなり、ステップS184に進
む。一方、ステップS183の判別がNOの場合は、ス
テップS187に進む。
【0242】ステップS184では、ステップS182
で見つけ出された行データの行番号をポインタQに設定
する。この場合、ポインタQの値は“31”になる。次
に、Lバッファ(L−idx)に、ポインタQの指す行
番号の行データを設定する(ステップS185)。この
結果、Lバッファ(5)に行番号が“31”の「商品E
y」の行データが設定される。
【0243】続いて、Dバッファ(L−idx)の「行
番号」フィールドに、ステップS185でLバッファ
(L−idx)に格納された行データを設定すると共
に、「行高さ」フィールドに“1/2”を設定する(ス
テップS186)。
【0244】次に、Lバッファ(L−idx+1)にポ
インにタPが指す行番号の行データを格納する(ステッ
プS190)。この結果、Lバッファ(6)に、行番号
が“32”の「商品Ez」の行データが設定される。
【0245】続いて、Dバッファ(L−idx+1)の
「行番号」フィールドに、Lバッファ(L−idx+
1)に格納された行データの行番号を設定すると共に、
「行高さ」フィールドに“H”を設定する(ステップS
191)。この結果、Dバッファ(6)の「行番号」フ
ィールドと「行高さ」フィールドに、それぞれ、“3
2”と“H”が設定される。
【0246】次に、上位レベル変更FLGを判別し(ス
テップS192)、上位レベル変更FLGが“OFF”
であれば(ステップS192、YES)、ステップS1
93に進み、“OFF”でなければ(ステップS19
2、YES)、ステップS195に進む。
【0247】ステップS193では、現在表示先頭行カ
ウンタ111にポインタPの値を設定する。この結果、
現在表示先頭行カウンタ111の値は“32”になる。
次に、上位レベル変更FLGを“ON”に設定し(ステ
ップS194)、続いて、idxの値を1だけデクリメ
ントすると共に、WK−TOPにポインタQの値を代入
する(ステップS195)。この結果、idxの値が
“2”に、WK−TOPの値が“31”になる。
【0248】次に、idxの値が“0”であるか判別し
(ステップS196)、“0”であれば(ステップS1
96、YES)、ステップS198に進むが、“0”で
なければ(ステップS195、NO)、ステップS19
7に進む。
【0249】この場合、idxの値は“2”となってい
るので、ステップS197に進み、ステップS197
で、L−idxに、{idx+(idx−1)}の値を
代入し、ステップS180に戻る。この結果、L−id
xの値は“3”となる。
【0250】このようにして、ステップS180〜S1
97の1回目のループ処理を終了する。該ループ処理
は、ステップS196で、idxの値が“0”と判別さ
れるまで、繰り返される。
【0251】続いて、2回目のループ処理が開始され
る。この時点で、WK−TOPの値は“31”、idx
の値は“2”となっている。このため、ステップS18
0で、表データテーブル11aを、行番号“31”を起
点として、階層レベルが“2”の行データが検索され
る。この結果、表データテーブル11aから行番号が
“29”の階層レベルが“2”である「関数」の行デー
タが検索される。
【0252】したがって、ステップS181でポインタ
Pに“29”が設定され、ステップS182で、表デー
タテーブル11aにおいて、行番号“29”を起点とし
て、階層レベルが“2”以上の行データの検索が行われ
る。この結果、表データテーブル11aから行番号が
“2”の階層レベルが“2”である「DIARY」の行
データが検索される。
【0253】この場合、同じ階層レベルである“2”の
行データが検索されたので、ステップS183の判別
は、YESとなり、再び、ステップS184〜S186
の処理が開始される。この結果、ポインタQに“2”が
設定され(ステップS184)、Lバッファ(3)にポ
インタQが指す行番号が“2”の「DIARY」の行デ
ータが設定される(ステップS185)。また、Dバッ
ファ(3)の「行番号」フィールドに“2”、「行高
さ」フィールドに“1/2H”が設定される(ステップ
S186)。
【0254】続いて、Lバッファ(4)にポインタPが
指す行番号“29”の行データが設定され(ステップS
190)、Dバッファ(4)の「行番号」フィールドに
“29”、「行高さ」フィールドに“H”が設定される
(ステップS191)。
【0255】続いて、上位レベル変更FLGが“OF
F”であるか判別されるが(ステップS192)、この
場合、上位レベル変更FLGは“ON”に設定されてい
るので、ステップS192の判別は“NO”となり、ス
テップS195に移り、ステップS195において、i
dxの値が“1”に、WK−TOPの値が“2”に設定
される。そして、再度、ステップS196で“NO”と
判別され、ステップS197で、L−idxに“1”が
設定され、ステップS180に戻る。
【0256】これにより、3回目のループ処理が開始さ
れる。この時点で、WK−TOPの値は“2”、idx
の値は“1”であるので、今度のステップS180の表
データテーブル11aの検索おいては、行番号“2”を
起点として、階層レベルが“1”の行データが検索され
る。この結果、表データテーブル11aから、行番号が
“1”の行データが検索される。そして、ステップS1
81で、ポインタPに“1”が設定される。上述したよ
うに、この場合、ステップS182において検索は行わ
れず、ステップS183の判別は“NO”となる。した
がって、続いて、ステップS187〜S189の処理を
行う。
【0257】すなわち、ポインタQにポインタPの値を
代入する(ステップS187)。この結果、ポインタP
に設定されていた行番号が、ポインタQに設定され、ポ
インタQの値は“1”になる。次に、Lバッファ(L−
idx)のデータを消去する(ステップS188)。こ
の結果、Lバッファ(1)の内容が“NULL”にな
る。続いて、Dバッファ(L−idx)の「行番号」フ
ィールドを“−”に、「行高さ」フィールドを“0”に
設定する。この結果、Dバッファ(1)の「行番号」フ
ィールドが“−”に、「行高さ」フィールドが“0”に
設定される。
【0258】次に、ステップS190に移り、ステップ
S190において、Lバッファ(2)にポインタPが指
す行番号の行データをコピーする。この結果、Lバッフ
ァ(2)に、行番号が“1”の「電卓」の行データが格
納される。続いて、Dバッファ(2)の「行番号」フィ
ールドに、ステップS190において、Lバッファ
(2)に格納された「電卓」の行データの行番号“1”
を設定し、「行高さ」フィールドに“H”を設定する。
【0259】次に、ステップS192で、上位レベル変
更FLGが“OFF”でないと判別し、ステップS19
5に移る。そして、ステップS195において、idx
の値を“0”に設定し、WK−TOPに、ポインタQに
設定されている“1”を代入する。
【0260】これにより、ステップS196で、idx
の値が“0”であると判別し、ステップS198、S1
99の処理を行い、図17のフローチャートの処理を終
了する。
【0261】以上説明した、現在表示先頭行カウンタ1
11、WK−TOP、idx、及びポインタP、Qの状
態遷移と、最終的な階層部データバッファ31Bと階層
部データバッファ管理テーブル31Dの「行高さ」フィ
ールドの内容を、図21(a)に示している。このよう
な、階層部データバッファ管理テーブル31Dと階層部
データバッファ31Bの内容に基づいて、図17のフロ
ーチャートのステップS198、S199が実行される
ことにより、表示装置80の画面には、図21(b)に
示すような表が表示される。同図(b)には、表の列見
出し部、階層部、及びデータ行部の1行目から4行目の
右端部分が示されている。同図(b)にめすように、階
層部の1行目には「電卓」の行データ全体が、2行目に
は、隙間データC2と第1の階層レベル“2”の項目で
ある「DIARY」の下半分の行データが表示されてい
る。
【0262】また、階層部の3行目には第2の階層レベ
ル“2”の項目である「関数」の行データ全体が、4行
目には隙間データC3と「関数」に属する2番目の商品
項目である「商品Ey」の行データの下半分が表示され
ている。そして、階層部の最下位行である5行目には、
現在の先頭表示商品項目行データである「関数」に属す
る3番目の商品項目である「商品Ez」の全体が表示さ
れている。
【0263】ユーザは、図21(b)に示す表の画面表
示を閲覧することにより、「電卓」の下位階層として、
「関数」以外の項目が表示画面においては隠されてお
り、また、「関数」の下位階層である商品項目について
も「商品Ez」より前の行の商品項目が隠されているこ
とを、瞬時に、かつ、容易に、視覚的に認識することが
できる。
【0264】尚、図21(b)に示す表示状態におい
て、更に、表を上行表示(上行スクロール)させていく
ことにより、最終的に、図13(b)に示す初期画面を
表示させることができるが、この動作の説明は省略す
る。
【0265】図22は、上述した下行・上行表示処理縦
スクロール処理によって、表示装置80の画面に表示さ
れる表(括り表)の全体を示す図である。尚、同図にお
いて「大分類1」(下半分のみ表示)及び「大分類2」
が、それぞれ、図14〜16、図18〜21に示された
「電卓」及び「時計」に該当している。また、「中分類
A」(不図示)、「中分類B」及び「中分類C」が、そ
れぞれ、図14〜16、図18〜21に示された「DI
ARY」、「関数」及び「デジタル」に該当している。
また、図22では、図14〜16、図18〜21では省
略されていた「商品コード」(21002、2100
3、21004、・・・)も示されている。
【0266】図22に示す表は、大分類の項目(階層レ
ベルが“1”の項目)、中分類の項目(階層レベルが
“2”の項目)及び小分類の項目(階層レベルが“3”
の項目)が、全て、縦スクロールされた状態を示してい
る。
【0267】すなわち、図22に示す表示は、「大分類
1」に属する全ての項目、「大分類2」に属する「中分
類A」及び「中分類B」に属する全ての項目が、表示装
置80の画面では隠されており、「大分類2」に属する
「中分類C」においても、該「中分類C」に属する一部
の「小分類」の項目が隠されて表示されていることを示
している。
【0268】尚、以上に述べた、本発明の実施形態で
は、階層レベルが3階層の表(括り表)のスクロール表
示の例を取り上げて説明したが、本発明は、階層レベル
数が限定されるものではなく、4階層以上の構成の任意
の表のスクロール表示にも適用できるものである。
【0269】また、上述した列名一覧表示において、該
列名一覧表示上の任意の列名をクリック等により指定す
ることにより、該指定された列が画面の任意の位置に表
示させるようにする応用実施形態も可能である。このよ
うな実施形態によれば、例えば、現在、画面に表示され
ていない列を、ユーザが所望する位置に表示させて、該
列を、即座に縦スクロール可能な状態にすることができ
る。このようにすれば、表の任意の列の項目の閲覧を、
効率よく、スピーディーに行うことが可能となる。
【0270】図26は、上記実施形態を実現するコンピ
ュータ300のハードウェア構成を示すブロック図であ
る。該コンピュータ300は、CPU301と、該CP
U300とバス309によって接続されたROM30
2、RAM303、外部記憶装置304、記録媒体駆動
装置305、入出力装置307、及び通信インターフェ
ース308から構成される。
【0271】CPU301は、バス309を介して上記
各構成要素302〜308にアクセス可能であり、シス
テム全体を制御する。本発明の実施形態のアルゴリズム
を実現するプログラムは、例えば、ROM302、外部
記憶装置304、または可搬記録媒体306に格納され
る。
【0272】ROM302や外部記憶装置304に格納
された上記プログラムは、RAM303上に、CPU3
01が実行可能な形式に展開されて、CPU301によ
り実行される。また、可搬記録媒体306に格納されて
いる上記プログラムは、該可搬記録媒体306が記録媒
体駆動装置305に装着されることにより、記録媒体駆
動装置305により読み取られ、RAM303上に、C
PU301が実行可能な形式に展開されて、CPU30
1により実行される。
【0273】また、上記プログラムは、コンピュータ3
00とネットワーク400を介して接続された情報提供
者500が保有していてもよく、この場合には、通信イ
ンターフェース400が、ネットワーク400を介し
て、情報提供者500が保有していている上記プログラ
ムを、外部記憶装置304にダウンロードする。そし
て、この外部記憶装置304にダウンロードされた上記
プログラムは、上述した方法により、CPU301によ
り実行される。
【0274】入出力装置307は、図1の入力装置90
及び表示装置80に該当し、ユーザが入出力装置307
の表示画面に表を初期表示させるためのコマンドの入力
や、画面表示されている表を横スクロール及び縦スクロ
ールするために利用される。また、該スクロール操作に
応じて、表の縦スクロール表示及び横スクロール表示を
行う。
【0275】外部記憶装置304は、図1の外部記憶装
置110または記録媒体駆動装置305並びに可搬記録
媒体306に該当する。RAM303は、図1の表情報
テーブル10、表示メモリ30、及び列名一覧データバ
ッファ60等に該当する。
【0276】尚、インデックス108、208は、RA
M303に格納されてもよい。RAM303には、ワー
ク領域110、210や前記バッファ等が確保される。
また、情報提供者500が、上記プログラムを実行可能
なコンピュータ、及び表情報テーブル10を格納してい
る外部記憶装置を備えている場合には、ユーザが入出力
装置307から、上記プログラムを遠隔実行するための
コマンドを入力することにより、通信インターフェース
308及びネットワーク400を介して、上記プログラ
ムを、情報提供者500が保有するコンピュータで遠隔
実行させることも可能である。この場合、情報提供者5
00が保有するコンピュータで得られた表の表示データ
を、コンピュータ300が、ネットワーク400及び通
信インターフェース308を介して受信することが可能
であり、該受信された表示データは入出力装置307か
ら、ユーザが視覚可能な形式で表示される。
【0277】尚、可搬記録媒体306は、フロッピーデ
ィスク、CD−ROM、CD−RAM、各種規格のDV
D、光磁気記録方式もしくは相変化型の光ディスク、I
Cカード等である。また、外部記憶装置304は、ハー
ドディスクやディスクアレイ等である。また、入出力装
置307は、キーボードやマウス等のポインティング・
デバイス、及びCRTディスプレイ、もしくは液晶ディ
スプレイ、プラズマ・ディスプレイ、有機EL (El
ectro Luminesence)ディスプレイ等
の薄型ディスプレイである。
【0278】また、ネットワーク400は、LAN、M
AN、WAN、もしくはインターネット等である。
【0279】
【発明の効果】以上、説明したように、本発明によれ
ば、複数列から構成される表を表示する際、画面上に表
示されている列の列名と画面上に表示されていない列の
列名とを、異なる表示形態で表示するので、表を構成す
る列の位置関係を容易に把握できると共に、画面上に表
示されていない列をスクロールにより表示させる際、ス
クロール方向を容易に認識することができるので、スク
ロールの操作性が一段と向上する。
【0280】また、本発明によれば、スクロールされな
い固定領域とスクロール可能なスク領域とで構成される
表を表示する際、スクロール操作により、該固定領域に
よって隠された列または行が存在する場合と存在しない
場合とで、該固定領域と該スクロール領域との境界の表
示形態を変化させるので、該スクロール領域内に隠され
ている列または行が存在することを、視覚的に即座に認
識することができる。
【0281】また、さらに、本発明によれば、階層構造
を有する表を表示する際、各階層について、下位の階層
の項目が、スクロールにより画面に表示されなくなった
場合においても、該各階層の表示形態を変化させて表示
させるので、該階層構造を、常時、把握できると共に、
該各階層の下位階層の項目が、スクロールにより画面か
ら隠れてしまったことを知ることができる。
【図面の簡単な説明】
【図1】本発明の実施形態のシステムの全体構成を示す
ブロック図である。
【図2】図1の表情報テーブルに格納されている、表デ
ータテーブル、表属性情報テーブル13、及び表データ
属性情報テーブルのデータ構造を示す図である。
【図3】本実施形態の全体動作を説明するフローチャー
トである。
【図4】表示データバッファ及び隙間データバッファの
データ構造を示す図である。
【図5】列幅情報テーブル及び列名一覧データバッファ
のデータ構造を示す図である。
【図6】表の初期表示処理を説明するフローチャートで
ある。
【図7】表の階層部及びデータ行部の表示処理を行う共
通サブルーチンを説明するフローチャートである。
【図8】列見出し部データバッファ、階層部データバッ
ファ管理テーブル、階層部データバッファ、データ行部
データバッファ、及び隙間データバッファとそれらのポ
インタとの関係を説明する図である。
【図9】列見出し部データバッファ、階層部データバッ
ファ、及びデータ行部データバッファの表示範囲を説明
する図である。
【図10】列名一覧表示処理を説明するフローチャート
である。
【図11】本実施形態の横スクロール処理を説明するフ
ローチャートである。
【図12】下行表示縦スクロール処理を説明するフロー
チャートである。
【図13】表データテーブルの内容の具体例と、該具体
例に対応する表の初期表示画面を示す図である。
【図14】表の初期表示画面において、1行下行表示縦
スクロールが行われた場合の、階層部データバッファ等
の内容の変化と、その際の表の表示状態の変化を示す図
である。
【図15】表の階層部の最下位行に表示される階層レベ
ルが“3”の項目が属する階層レベルが“2”の項目
が、下行表示縦スクロールにより変化する場合の、階層
部データバッファ等の内容の変化と、その際の表の表示
状態の変化を示す図である。
【図16】表の階層部の最下位行に表示される階層レベ
ルが“3”の項目が属する階層レベルが“1”の項目
が、下行表示縦スクロールにより変化する場合の、階層
部データバッファ等の内容の変化と、その際の表の表示
状態の変化を示す図である。
【図17】本実施形態の上行表示縦スクロール処理を説
明するフローチャートである。
【図18】上行表示縦スクロールの第1の動作例を説明
する図である。
【図19】上行表示縦スクロールの第2の動作例を説明
する図である。
【図20】上行表示縦スクロールの第3の動作例を説明
する図である。
【図21】上行表示縦スクロールの第4の動作例を説明
する図である。
【図22】上行表示縦スクロールより、第2の階層レベ
ル“1”の第3の階層レベル“2”に属する階層レベル
が“3”に属する商品項目が表示されている表表示全体
を示す図である。
【図23】本実施形態の表の一例である商品売上実績表
の初期表示画面を示す図である。
【図24】図23の初期表示画面において、右列スクロ
ールが行われた場合の第1の表示例を示す図である。
【図25】図24の表示画面において、さらに、右列ス
クロールを行い、商品売上実績表の最右端の列まで表示
させた状態を示す図である。
【図26】本発明の実施形態を実現するコンピュータの
ハードウェア構成を示すブロック図である。
【図27】従来の、スクロールされない固定領域とスク
ロール可能なスクロール領域を有する表を、横スクロー
ルした際に発生する、該表の表示形態の第1の問題点を
説明する図である。
【図28】従来の、スクロールされない固定領域とスク
ロール可能なスクロール領域を有する表を、表示する際
の第2の問題点を説明する図である。
【符号の説明】
10 表情報テーブル 11 表データ記憶部 11a 表データテーブル 13 表属性情報テーブル 20 表データ生成部 30 表示メモリ 31 表示データバッファ 31A 列見出し部データバッファ 31B 階層部データバッファ 31C データ行部データバッファ 31E 固定列部 31F スクロール列部 32 隙間データバッファ 40 列名情報生成制御部 41 列名幅情報調整部 43 列幅情報テーブル 50 列名表示データ生成部 60 列名一覧データバッファ 70 表データ表示制御部 71 表座標設定レジスタ 72 列名表座標設定レジスタ 73 表幅設定レジスタ 74 表高設定レジスタ 75 行高設定レジスタ 76 隙間行高設定レジスタ 77 列名修飾情報設定レジスタ 80 表示装置 90 入力装置 100 スクロール制御部 101A、101B、101C 列名一覧表示 103U 上行スクロールボタン 103D 下行スクロールボタン 105L 左列スクロールボタン 105R 右列スクロールボタン 111 現在表示先頭行カウンタ 113 固定部 115 スクロール部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大貫 哲也 東京都羽村市栄町3丁目2番1号 カシオ 計算機株式会社羽村技術センター内 Fターム(参考) 5C082 AA01 BA06 CA72 CB01 CB06 DA87 DA89 MM09 MM10

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 各列が列名を有する複数列から構成され
    る表の表示形態を、スクロール操作に応じて制御する表
    示制御装置であって、 スクロール操作に応じて、前記複数列のうちの一部の列
    が表示されるように制御するスクロール列表示制御手段
    と、 前記列名の表示を制御するものであって、前記スクロー
    ル列表示制御手段により表示された表示列の列名と、前
    記複数列のうち表示されていない非表示列の列名とが、
    異なる形態で表示されるように制御する列名表示制御手
    段と、 を有することを特徴とする表の表示制御装置。
  2. 【請求項2】 前記スクロール列表示制御手段により表
    示された表示列の一部又は全部の列に代えて、前記複数
    列のうちの該表示列を除いた他の列を表示するように制
    御する表示列変更表示制御手段と、 前記列名表示制御手段による列名の異なる形態による表
    示を、前記表示列変更表示制御手段により変更された列
    の表示に対応させて変更するように制御する列名変更表
    示制御手段と、 を更に有することを特徴とする請求項1に記載の表の表
    示制御装置。
  3. 【請求項3】 前記複数列のうちの一部の列を固定列と
    して前記スクロール操作に無関係に表示されるように制
    御する固定列表示制御手段を更に有することを特徴とす
    る請求項1に記載の表の表示制御装置。
  4. 【請求項4】 複数列から構成される表の表示形態を、
    スクロール操作に応じて制御する表示制御装置であっ
    て、 前記複数列のうちの一部の列が表示されるように制御す
    る列表示制御手段と、 スクロール操作に応じて、前記列表示制御手段により表
    示された列を除く前記複数列のうちの一部の列が表示さ
    れるように制御するスクロール列表示制御手段と、 前記スクロール操作により、前記列表示制御手段により
    表示された列に前記スクロール列表示制御手段により表
    示された列が隠された場合に、該列表示制御手段による
    列の表示と該スクロール列表示制御手段による列の表示
    との境界が、前記表の列の境界を示す形態とは異なる形
    態で表示されるように制御する境界表示制御手段と、 を有することを特徴とする表の表示制御装置。
  5. 【請求項5】 前記境界表示制御手段は、前記列表示制
    御手段により表示された列と前記スクロール列表示制御
    手段により表示された列との間に隙間を表示させること
    を特徴とする請求項4に記載の表の表示制御装置。
  6. 【請求項6】 前記境界表示制御手段は、前記隙間の表
    示と共に、前記スクロール列表示制御手段により表示さ
    れた列のうち、前記列表示制御手段により表示された列
    に隠された列であって、該列表示制御手段により表示さ
    れた列に隠されていない列に最も近い位置にある列の一
    部が表示されるように制御することを特徴とする請求項
    5に記載の表の表示制御装置。
  7. 【請求項7】 前記列表示制御手段は、前記複数列のう
    ちの一部の列がスクロール操作に無関係に表示されるよ
    うに制御することを特徴とする請求項4に記載の表の表
    示制御装置。
  8. 【請求項8】 各列の列名を示す見出し行と、階層提示
    行と、詳細行とより構成されている表であって、該階層
    提示行が一部の該詳細行である若しくは一部の他の階層
    提示行である被統合行を統合している階層構造を有する
    該表の表示を制御する表示制御装置であって、 前記見出し行の表示を制御する見出し行表示制御手段
    と、 一部の前記階層提示行の表示を制御する階層提示行表示
    制御手段と、 前記階層提示行表示手段により表示された階層提示行に
    統合されている一部または全ての被統合行の表示を制御
    する被統合行表示制御手段と、 前記見出し行表示制御手段により表示された見出し行と
    前記階層提示行表示制御手段により表示された階層提示
    行とが前記表において不連続である場合における該見出
    し行の表示と該階層提示行の表示との境界、あるいは前
    記階層提示行表示手段により表示された階層提示行と前
    記被統合行表示制御手段により表示された被統合行とが
    前記表において不連続である場合における該階層提示行
    の表示と該被統合行の表示との境界が、前記表の行の境
    界についてなされるものとは異なる形態により表示され
    るように制御する境界表示制御手段と、 を有することを特徴とする表の表示制御装置。
  9. 【請求項9】 前記境界表示制御手段による異なる形態
    による表示は、隙間の表示であることを特徴とする請求
    項8に記載の表の表示制御装置。
  10. 【請求項10】 前記境界表示制御手段は、前記見出し
    行の表示と前記階層提示行の表示との境界を異なる形態
    により表示する場合に、前記隙間の表示と共に、前記表
    において該階層提示行よりも上方に位置している最も近
    い階層提示行の一部を更に表示することを特徴とする請
    求項9に記載の表の表示制御装置。
  11. 【請求項11】 前記境界表示制御手段は、前記階層提
    示行の表示と前記被統合行の表示との境界を異なる形態
    により表示する場合に、前記隙間の表示と共に、 前記被統合行が前記詳細行であるならば前記表において
    該詳細行よりも上方に位置している最も近い詳細行の一
    部を更に表示し、 前記被統合行が前記他の階層提示行であるならば前記表
    において該他の階層提示行よりも上方に位置している最
    も近い階層提示行の一部を更に表示する、ことを特徴と
    する請求項9に記載の表の表示制御装置。
  12. 【請求項12】 前記被統合行表示制御手段により表示
    された詳細行である被統合行の表示に代えて、該詳細行
    とは異なる階層提示行に統合されている詳細行を表示す
    る詳細行変更表示制御手段と、 前記階層提示行表示制御手段により表示され、前記被統
    合行表示制御手段により表示されていた詳細行である被
    統合行を統合している階層提示行の表示に代えて、前記
    詳細行変更表示制御手段により表示された詳細行を統合
    している階層提示行を表示する階層提示行変更表示制御
    手段と、 を更に有することを特徴とする請求項8に記載の表の表
    示制御装置。
  13. 【請求項13】 前記詳細行変更表示制御手段により表
    示された詳細行の表示と前記階層提示行変更表示制御手
    段により表示された階層提示行の表示との間に前記境界
    表示制御手段による前記境界の表示がなされている場合
    であって、該詳細行と該階層提示行とが前記表において
    連続しているときには、該境界表示制御手段による該境
    界の表示を中止する境界表示中止手段を更に有すること
    を特徴とする請求項12に記載の表の表示制御装置。
  14. 【請求項14】 各列が列名を有する複数列から構成さ
    れる表の表示形態を、スクロール操作に応じて制御する
    表示制御方法であって、 スクロール操作に応じて、前記複数列のうちの一部の列
    が表示されるように制御し、 前記スクロール操作に応じた制御により表示された表示
    列の列名と、前記複数列のうち表示されていない非表示
    列の列名とが、異なる形態で表示されるように制御す
    る、 ことを特徴とする表の表示制御方法。
  15. 【請求項15】 複数列から構成される表の表示形態
    を、スクロール操作に応じて制御する表示制御方法であ
    って、 前記複数列のうちの一部の列が表示されるように制御す
    る第一の制御を行ない、 スクロール操作に応じて、前記第一の制御により表示さ
    れた列を除く前記複数列のうちの一部の列が表示される
    ように制御する第二の制御を行ない、 前記スクロール操作により、前記第一の制御により表示
    された列に前記第二の制御により表示された列が隠され
    た場合に、該第一の制御による列の表示と該第二の制御
    による列の表示との境界が、前記表の列の境界を示す形
    態とは異なる形態で表示されるように制御する、 ことを特徴とする表の表示制御方法。
  16. 【請求項16】 各列の列名を示す見出し行と、階層提
    示行と、詳細行とより構成されている表であって、該階
    層提示行が一部の該詳細行である若しくは一部の他の階
    層提示行である被統合行を統合している階層構造を有す
    る該表を表示する表示制御方法であって、 前記見出し行の表示を制御し、 一部の前記階層提示行の表示を制御し、 前記表示された階層提示行に統合されている一部または
    全ての被統合行の表示を制御し、 前記表示された見出し行と前記表示された階層提示行と
    が前記表において不連続である場合における該見出し行
    の表示と該階層提示行の表示との境界、あるいは前記表
    示された階層提示行と前記表示された被統合行とが前記
    表において不連続である場合における該階層提示行の表
    示と該被統合行の表示との境界が、前記表の行の境界に
    ついてなされるものとは異なる形態により表示されるよ
    うに制御する、 ことを特徴とする表の表示制御方法。
  17. 【請求項17】 各列が列名を有する複数列から構成さ
    れる表のスクロール操作に応じた表示制御をコンピュー
    タに実行させる、表の表示制御プログラムを記憶した該
    コンピュータが読み取り可能な記憶媒体であって、 スクロール操作に応じて、前記複数列のうちの一部の列
    を表示させる制御と、 前記制御により表示された表示列の列名と、前記複数列
    のうち表示されていない非表示列の列名とが、異なる形
    態で表示されるようにする制御、 をコンピュータに実行させる表の表示制御プログラムを
    記憶した記憶媒体。
  18. 【請求項18】 複数列から構成される表のスクロール
    操作に応じた表示制御をコンピュータに実行させる、表
    の表示制御プログラムを記憶した該コンピュータが読み
    取り可能な記憶媒体であって、 前記複数列のうちの一部の列を表示させる第一の制御
    と、 スクロール操作に応じて、前記第一の制御により表示さ
    れた列を除く前記複数列のうちの一部の列を表示させる
    第二の制御と、 前記スクロール操作により、前記第一の制御により表示
    された列に前記第二の制御により表示された列が隠され
    た場合に、該第一の制御による列の表示と該第二の制御
    による列の表示との境界が、前記表の列の境界を示す形
    態とは異なる形態で表示されるようにする制御、 をコンピュータに実行させる表の表示制御プログラムを
    記憶した記憶媒体。
  19. 【請求項19】 各列の列名を示す見出し行と、階層提
    示行と、詳細行とからなる表であって、該階層提示行が
    一部の該詳細行である若しくは該階層提示行が一部の他
    の階層提示行である被統合行を統合している階層構造を
    有する該表の表示制御をコンピュータに実行させる、表
    の表示制御プログラムを記憶した該コンピュータが読み
    取り可能な記憶媒体であって、 前記見出し行を表示させる制御と、 一部の前記階層提示行を表示させる制御と、 前記表示された階層提示行に統合されている一部または
    全ての被統合行を表示させる制御と、 前記表示された見出し行と前記表示された階層提示行と
    が前記表において不連続である場合における該見出し行
    の表示と該階層提示行の表示との境界、あるいは前記表
    示された階層提示行と前記表示された被統合行とが前記
    表において不連続である場合における該階層提示行の表
    示と該被統合行の表示との境界、を前記表の行の境界に
    ついてなされるものとは異なる形態により表示させる制
    御、 をコンピュータに実行させる表の表示制御プログラムを
    記憶した記憶媒体。
JP11100128A 1999-04-07 1999-04-07 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体 Pending JP2000293154A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11100128A JP2000293154A (ja) 1999-04-07 1999-04-07 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11100128A JP2000293154A (ja) 1999-04-07 1999-04-07 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2005081255A Division JP4207910B2 (ja) 2005-03-22 2005-03-22 表の表示制御装置、表の表示制御方法及びプログラムを記録した記録媒体
JP2005081254A Division JP2005267651A (ja) 2005-03-22 2005-03-22 表の表示制御装置、表の表示制御方法、及び表の表示制御プログラムを記憶した記憶媒体

Publications (1)

Publication Number Publication Date
JP2000293154A true JP2000293154A (ja) 2000-10-20

Family

ID=14265692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11100128A Pending JP2000293154A (ja) 1999-04-07 1999-04-07 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体

Country Status (1)

Country Link
JP (1) JP2000293154A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008522288A (ja) * 2004-11-26 2008-06-26 チン、フィリップ、ケイ テーブル形式のデータを表示する方法
JP2015026203A (ja) * 2013-07-25 2015-02-05 ブラザー工業株式会社 電子機器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008522288A (ja) * 2004-11-26 2008-06-26 チン、フィリップ、ケイ テーブル形式のデータを表示する方法
JP2015026203A (ja) * 2013-07-25 2015-02-05 ブラザー工業株式会社 電子機器

Similar Documents

Publication Publication Date Title
US8281238B2 (en) System, method and computer program for creating and manipulating data structures using an interactive graphical interface
US11126318B2 (en) Filtering popup secondary data visualizations according to selected data from primary data visualizations
US6434564B2 (en) Browser for hierarchical structures
US7779000B2 (en) Associating conditions to summary table data
US8127245B2 (en) Multi-dimensional systems and controls
EP2564325B1 (en) Temporary formatting and charting of selected data
US7340690B2 (en) Space-efficient linear hierarchical view and navigation
US20140195887A1 (en) Filter and sort by format
JP2019531524A (ja) ウェブサイト構築システムおよびウェブサイト構築システムのための方法
JP2006146884A (ja) 電子文書スタイルマトリクス
US20100241672A1 (en) Database Application Including Spilt Views
US20150161079A1 (en) File formats and methods for representing documents
JP2007265031A (ja) 辞書コンテンツ処理装置、コンテンツ表示システムおよびコンテンツ表示方法
US20220269380A1 (en) Method and system for structuring, displaying, and navigating information
JPH0991299A (ja) 階層的に関連した情報の生成方法及びコンピュータ制御ディスプレイシステム
JP2000293154A (ja) 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体
JP4207910B2 (ja) 表の表示制御装置、表の表示制御方法及びプログラムを記録した記録媒体
JP3744270B2 (ja) 表の表示制御装置及び表の表示制御プログラムを記録した記録媒体
US20080270347A1 (en) Method and apparatus for facilitating improved navigation through a list
JP2005267651A (ja) 表の表示制御装置、表の表示制御方法、及び表の表示制御プログラムを記憶した記憶媒体
JP2000250909A (ja) 構造化文書表示装置及び方法
JP7435564B2 (ja) 電子機器、表示方法、及び表示プログラム
Jelen Charts and Graphs: Microsoft Excel 2010
US8595260B1 (en) Alternating between data-driven and metadata-driven view for dataflow design
Rasmussen et al. gCLUTO Documentation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051108