(57)【要約】【課題】表形式のデータの見出しを画面に常に表示する制御を行う。【解決手段】表示制御装置１０は、複数のデータセルとデータセルのタイトル名を示すセルとを含む表を表示範囲Ｒ上に表示するとともに、表示範囲Ｒ内に表示できないデータセルを表をスクロールして表示する。表示制御装置１０は、表示範囲Ｒ内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、データセルのタイトル名を示すセルの挿入が必要と判定する。表示制御装置１０は、セルの挿入が必要と判定した場合に、次に表示するデータセルの前にデータセルのタイトル名を示すセルを挿入する。【選択図】図３
2019086838.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のデータセルと前記データセルのタイトル名を示すセルとを含む表を表示範囲上に表示するとともに、表示範囲内に表示できないデータセルを前記表をスクロールして表示する場合に、前記表示範囲内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、前記データセルのタイトル名を示すセルの挿入が必要と判定し、
前記セルの挿入が必要と判定した場合に、前記次に表示するデータセルの前にデータセルのタイトル名を示すセルを挿入する、
処理を実行させることを特徴とする表示制御プログラム。
【請求項２】
前記判定は、さらに前記次に表示するデータセルの前がデータセルのタイトル名を示すセルではない場合に、前記セルの挿入が必要と判定することを特徴とする請求項１に記載の表示制御プログラム。
【請求項３】
前記スクロール方向は、前記表の同一の列のデータセルに対するタイトル名が複数存在する場合における行を変更する方向であることを特徴とする請求項１または２に記載の表示制御プログラム。
【請求項４】
前記スクロール方向は、前記表の同一の行のデータセルに対するタイトル名が複数存在する場合における列を変更する方向であることを特徴とする請求項１または２に記載の表示制御プログラム。
【請求項５】
コンピュータが、
複数のデータセルと前記データセルのタイトル名を示すセルとを含む表を表示範囲上に表示するとともに、表示範囲内に表示できないデータセルを前記表をスクロールして表示する場合に、前記表示範囲内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、前記データセルのタイトル名を示すセルの挿入が必要と判定し、
前記セルの挿入が必要と判定した場合に、前記次に表示するデータセルの前にタイトル名を示すセルを挿入する、
処理を実行することを特徴とする表示制御方法。
【請求項６】
複数のデータセルと前記データセルのタイトル名を示すセルとを含む表を表示範囲上に表示するとともに、表示範囲内に表示できないデータセルを前記表をスクロールして表示する場合に、前記表示範囲内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、前記データセルのタイトル名を示すセルの挿入が必要と判定する判定部と、
前記セルの挿入が必要と判定した場合に、前記次に表示するデータセルの前にタイトル名を示すセルを挿入する挿入部と、
を有することを特徴とする表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御プログラム、表示制御方法及び表示制御装置に関する。
【背景技術】
【０００２】
行列（表）形式のデータの一覧を複数頁に分割して印刷したり表示したりする場合に、各頁の先頭にデータの見出し行を出力する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−３０２０１２号公報
【特許文献２】特開昭６３−３１００６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、１つの画面内で表形式のデータを、例えば、行を変更する方向にスクロールして表示させる場合に、頁を切り替えているわけではなく、上記の従来技術を適用できない。したがって、１つの画面内でデータの表示をスクロールすると、見出し行が隠れてしまいデータの閲覧に不便な場合がある。
【０００５】
１つの側面では、本発明は、表形式のデータの見出しを画面に常に表示する制御を行う表示制御プログラム、表示制御方法及び表示制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様では、コンピュータに、複数のデータセルと前記データセルのタイトル名を示すセルとを含む表を表示範囲上に表示するとともに、表示範囲内に表示できないデータセルを前記表をスクロールして表示する場合に、前記表示範囲内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、前記データセルのタイトル名を示すセルの挿入が必要と判定し、前記セルの挿入が必要と判定した場合に、前記次に表示するデータセルの前にデータセルのタイトル名を示すセルを挿入する、処理を実行させることを特徴とする処理を実行させる。
【発明の効果】
【０００７】
表形式のデータの見出しを画面に常に表示する制御を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例に係るシステムの構成を示す図である。
【図２Ａ】図２Ａは、実施例に係る表示制御処理を説明するための説明図である。
【図２Ｂ】図２Ｂは、実施例に係る表示制御処理を説明するための説明図である。
【図２Ｃ】図２Ｃは、実施例に係る表示制御処理を説明するための説明図である。
【図３】図３は、実施例に係る表示制御装置の機能的構成を示すブロック図である。
【図４】図４は、データ表示画面を説明するための説明図である。
【図５】図５は、判定部及び挿入部の処理を説明するための説明図である。
【図６】図６は、実施例に係る表示制御処理の手順を示すフローチャートである。
【図７】図７は、実施例に係る表示制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して本願に係る表示制御プログラム、表示制御方法及び表示制御装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例】
【００１０】
［システム構成］
図１は、実施例に係る表示制御装置１０を含むシステムの構成を示す図である。図１に示すシステムは、表示制御装置１０と、ユーザ端末２０とを有する。表示制御装置１０は、一例として、Ｗｅｂサーバとして実装され、ユーザが利用可能な施設の予約状況等を示す表形式のデータをユーザ端末２０に提示する。また、表示制御装置１０は、ユーザ端末２０に表示される表形式のデータをユーザがスクロールした場合にも、見出しを常に画面に表示する制御を行ったデータを提供する。
【００１１】
本実施例では、表示制御装置１０が、ユーザ端末２０の画面の大きさを考慮して見出し行が追加された画面情報を生成してユーザ端末２０に送信し、ユーザ端末２０が、受信した画面情報を表示する例を説明する。
【００１２】
具体的に、一例として、ユーザ端末２０は、据置型や可搬型のパーソナルコンピュータ等のＷｅｂブラウザを用いて実現される。また、表示制御装置１０は、ＬＡＮ（Local  Area  Network）やインターネット等のネットワーク３０により接続されたクライアント端末としてのユーザ端末２０に、表形式のデータを表示するＨＴＭＬ（HyperText  Markup  Language）データを提供する。
【００１３】
ここで、図２Ａ〜図２Ｃは、実施例に係る表示制御処理を説明するための説明図である。図２Ａに示すように、表示制御装置１０は、一例として、ブラウザのウィンドウ内の表示範囲Ｒ上に、同一行の複数のデータセルが結合されたデータ行ｌを複数含む表形式のデータを表示する画面（以下、データ表示画面と記す。）を生成する。
【００１４】
本実施例において、各データ行ｌは、総合運動公園、ファミリースポーツセンタといった館のそれぞれに備わるテニスコートＡ、テニスコートＢといった施設のそれぞれについて、予約済の時間帯などの予約状況を示す。データ表示画面では、館ごとに複数の施設のデータ行ｌがまとめられ、各館のデータ行ｌの先頭に、データ行ｌのタイトル名を示す見出し行ｌ０が表示される。本実施例において、この見出し行ｌ０は、館名及び時間帯を示す。
【００１５】
例えば、データ表示画面では、総合運動公園についての見出し行ｌ０、総合運動公園内の各施設（テニスコートＡ、テニスコートＢなど）を示す複数のデータ行ｌといった順に表示される。続いて、データ表示画面では、他の館であるファミリースポーツセンタについての見出し行ｌ０、ファミリースポーツセンタ内の各施設（室内テニスコートＡ、室内テニスコートＢなど）を示す複数のデータ行ｌといった順に表示される。すなわち、本実施例において、複数の見出し行ｌ０が表示され得る。
【００１６】
表示制御装置１０は、一例として、ＨＴＭＬを用いて生成したデータ表示画面をユーザ端末２０に提供する。また、ユーザ端末２０は、ユーザから表示範囲Ｒ内に表示されたデータ表示画面のスクロールを指示する操作入力を受け付けることが可能である。
【００１７】
例えば、図２Ａに示す表示範囲Ｒ内のデータ表示画面を、行を変更する方向にスクロールさせると、図２Ｂに示すように、これまでとは異なる施設のデータ行ｌが表示される。それに伴って、見出し行ｌ０が表示範囲Ｒから外れて見えなくなる場合が生じる。見出し行ｌ０が見えないと、どの館の施設のどの時間帯の予約状況が表示されているのかがわからなくなるため、ユーザにとって不便である。
【００１８】
そこで、表示制御装置１０は、一例として、図２Ｃに示すように、スクロール方向の行と行と間に見出し行ｌ０を挿入することにより、表示範囲Ｒ内に常に見出し行ｌ０を表示するように、データ表示画面を生成する表示制御処理を行うものである。
【００１９】
なお、本実施例の表示制御処理において、スクロール方向は、データ行ｌと、データ行のタイトル名を示す複数の見出し行ｌ０とが表示されるデータ表示画面において、行を変更する方向としているが、これに限定されない。例えば、データ列と、データ列のタイトル名を示す複数の見出し列とが表示されるデータ表示画面において、列を変更する方向にスクロールさせる場合に対応した表示制御処理を適用することにより、見出し列を常に画面に表示することも可能である。
【００２０】
また、図２Ａに示すデータ表示画面においては、見出し列は館および各館の施設を示す一列のみであるため、見出し列と見出し列より右側のデータ列とを分離して表示制御が行われている。すなわち、列を変更する方向にスクロールさせる場合に、見出し列の表示は変更されず、各データ列のみがスクロール表示される。つまり、各データ行ｌおよび見出し行ｌ０の時間帯が変更されて表示される。
【００２１】
［表示制御装置の構成］
図３は、実施例に係る表示制御装置１０の機能的構成を示すブロック図である。図３に示す表示制御装置１０は、複数のデータセルとデータセルのタイトル名を示すセルとを含む表を表示範囲上に表示するとともに、表示範囲内に表示できないデータセルを表をスクロールして表示する場合に対応して、後述する表示制御処理を実行する。一実施形態として、表示制御装置１０は、ユーザが利用可能な施設の予約状況等を示すデータ表示画面を生成してユーザ端末２０に出力する。その際、表示制御装置１０は、ユーザ端末２０において表示範囲Ｒ内のデータ表示画面がスクロールされた場合にも、表示範囲Ｒ内に常に見出しが表示されるように、見出しを挿入する表示制御処理を実行することにより、データ生成画面を生成する。
【００２２】
一実施形態として、表示制御装置１０は、上記の表示制御処理がパッケージソフトウェアやオンラインソフトウェアとして提供される表示制御プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、表示制御装置１０は、利用者が利用可能な施設の予約を管理する施設予約システムを利用する係員が使用する情報処理装置に上記の表示制御プログラムをインストールさせることにより実装することができる。この他、表示制御装置１０は、上記の施設予約システムの利用者が使用する情報処理装置などをクライアント端末として収容するサーバ装置に上記の表示制御プログラムをインストールさせることにより実装することができる。この場合、表示制御装置１０は、施設状況管理などの業務システムの一部として実装されることとしてもよいし、上記の表示制御処理により実現されるサービスをアウトソーシングによって提供するクラウドとして実装することとしてもかまわない。
【００２３】
図３には、符号１１〜符号１５に対応する機能部が示されているが、これはあくまで一例に過ぎず、図示された機能部の一部を省略したり、図示以外の機能部が表示制御装置１０に備わることを妨げない。例えば、利用者が利用可能な施設の予約を管理する施設予約システムを利用する係員が使用する情報処理装置が表示制御装置１０として実装される場合、パーソナルコンピュータや携帯端末装置などが標準装備する機能部を有することとしてもかまわない。すなわち、表示制御装置１０は、例えば、入力デバイス、画像または音声の出力デバイス、通信インタフェースなどの他、スキャナ等の読取部などの機能部を有することとしてもかまわない。また、上記の業務システムの一部として表示制御装置１０が実装される場合、処理対象のデータ以外のデータを管理するデータベースが表示制御装置１０の記憶装置、例えば主記憶装置や補助記憶装置などに記憶されることとしてもよい。
【００２４】
図３に示すように、表示制御装置１０は、あくまで一例として、入出力Ｉ／Ｆ（InterFace）部１１と、記憶部１３と、制御部１５とを有する。なお、図３には、データの入出力の関係を表す実線が示されているが、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
【００２５】
入出力Ｉ／Ｆ部１１は、マウスやキーボードなどの入力デバイス及びディスプレイなどの周辺機器との間で入出力を行うインタフェースである。
【００２６】
一実施形態として、入出力Ｉ／Ｆ部１１は、マウスやキーボードなどの入力デバイスから入力された各種の操作を制御部１５へ出力する。また、入出力Ｉ／Ｆ部１１は、制御部１５から出力された画像や特定されたオブジェクトの情報などをディスプレイなどの出力デバイスへ出力する。また、入出力Ｉ／Ｆ部１１は、ユーザ端末２０などの外部装置と制御部１５との間のデータ通信を制御する。
【００２７】
記憶部１３は、制御部１５で実行されるＯＳ（Operating  System）やプレゼンテーションソフトを始め、アプリケーションプログラムなどの各種プログラムに用いられるデータを記憶するデバイスである。
【００２８】
一実施形態として、記憶部１３は、表示制御装置１０における主記憶装置として実装される。例えば、記憶部１３には、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。また、記憶部１３は、補助記憶装置として実装することもできる。この場合、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。
【００２９】
記憶部１３は、制御部１５で実行されるプログラムに用いられるデータの一例として、処理対象の表形式のデータを記憶する。このデータ以外にも、記憶部１３には、他の電子データを併せて記憶することもできる。
【００３０】
制御部１５は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。
【００３１】
一実施形態として、制御部１５は、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）として実装される。制御部１５は、必ずしも中央処理装置として実装されずともよく、ＭＰＵ（Micro  Processing  Unit）やＤＳＰ（Digital  Signal  Processor）として実装されることとしてもよい。このように、制御部１５は、プロセッサとして実装されればよく、その種別が汎用型または特化型であるかは問われない。また、制御部１５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００３２】
制御部１５は、各種のプログラムを実行することによって下記の処理部を仮想的に実現する。例えば、制御部１５は、図３に示すように、取得部１５ａと、判定部１５ｂと、挿入部１５ｃとを有する。
【００３３】
取得部１５ａは、処理対象の表形式のデータを取得する処理部である。一実施形態として、取得部１５ａは、あらかじめ記憶部１３に記憶されている処理対象の表形式のデータのリストＬと、リストＬの要素数Ｓとを取得する。
【００３４】
なお、取得部１５ａは、メモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアからデータのリストＬおよび要素数Ｓとを取得することもできる。取得部１５ａは、施設予約システムの管理者等より入出力Ｉ／Ｆ部１１を介してデータのリストＬおよび要素数Ｓとを取得してもよい。
【００３５】
判定部１５ｂは、複数のデータセルとデータセルのタイトル名を示すセルとを含む表を表示範囲上に表示するとともに、表示範囲内に表示できないデータセルを前記表をスクロールして表示する場合に、以下の処理を実行する。すなわち、判定部１５ｂは、表示範囲Ｒ内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分を算出する。また、判定部１５ｂは、算出した差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、データセルのタイトル名を示すセルの挿入が必要と判定する。
【００３６】
また、挿入部１５ｃは、判定部１５ｂがセルの挿入が必要と判定した場合に、次に表示するデータセルの前にデータセルのタイトル名を示すセルを挿入する。
【００３７】
ここで、図４および図５を参照して、判定部１５ｂ及び挿入部１５ｃの処理について、具体的に説明する。図４は、データ表示画面を説明するための説明図である。また、図５は、判定部及び挿入部の処理を説明するための説明図である。
【００３８】
一実施形態として、まず、判定部１５ｂは、取得部１５ａが取得したデータのリストＬと、リストＬの要素数Ｓとを用いて、要素数Ｓが０より大きい場合に、以下に説明する処理を実行する。
【００３９】
具体的には、判定部１５ｂは、図４に示すように、表示範囲Ｒ上に見出し行ｌ０とデータ行ｌとを表示するデータ表示画面を生成する。ここで、見出し行ｌ０の高さをＨ、データ行ｌの高さをＤ、水平スクロールバーの高さｆを除いた表示範囲Ｒの高さをＦとする。その場合に、データ行ｌを表示可能な表示範囲Ｒの高さＭは（Ｆ−Ｈ）で表され、表示範囲Ｒ内に表示される複数のデータ行ｌのそれぞれの高さＤ（＜Ｍ）の累積値Ｔの最大値を意味する。
【００４０】
具体的には、判定部１５ｂは、まず、先頭の見出し行ｌ０を出力する。また、判定部１５ｂは、データ行ｌの高さＤの累積値Ｔを０とする。また、判定部１５ｂは、データ行ｌの出力数Ｃ＝０とする。
【００４１】
次に、判定部１５ｂは、データ行ｌの出力数Ｃがリストの要素数Ｓに達するまで、データ行ｌを出力することにより、データ表示画面を生成する。ここで、判定部１５ｂは、各データ行ｌを出力する際に、まず、データ行ｌの高さＤを算出する。
【００４２】
また、判定部１５ｂは、Ｔが０より大きい場合に、表示範囲Ｒの高さＦと、見出し行ｌ０の高さＨと表示されているデータ行ｌの高さの累積値Ｔとの合計と差分が、次に表示するデータ行ｌの高さＤより小さいか否かを確認する。すなわち、判定部１５ｂは、次に表示するデータ行ｌの高さを加えたデータ行ｌの高さの累積値（Ｔ＋Ｄ）がＭ未満か否かを確認する。（Ｔ＋Ｄ）がＭ未満の場合に、判定部１５ｂは、見出し行ｌ０の挿入は不要と判定する。したがって、判定部１５ｂは、Ｔが０より大きく（Ｔ＋Ｄ）がＭ未満の場合に、データ行ｌを出力し、Ｔを（Ｔ＋Ｄ）に更新する。
【００４３】
なお、Ｔが０以下の場合、すなわち、見出し行ｌ０の後ろにデータ行ｌが出力されていない場合には、判定部１５ｂは、上記の確認を行わずにデータ行ｌを出力し、ＴをＴ＋Ｄに更新する。言い換えれば、判定部１５ｂは、次に表示するデータ行ｌの前が見出し行ｌ０ではない場合に、見出し行ｌ０の挿入の要否を判定する。すなわち、判定部１５ｂは、さらに、次に表示するデータ行ｌの前が見出し行ｌ０ではない場合に、後述する見出し行ｌ０の挿入が必要との判定を行う。これにより、後述する挿入部１５ｃの処理により見出し行ｌ０が連続して出力されることを防止することができる。
【００４４】
具体的には、判定部１５ｂは、図５（ａ）に示すように、見出し行ｌ０を出力した後の次の１行目のデータ行ｌについて、高さＤ１を算出する。また、判定部１５ｂは、Ｔが０以下であるため、データ行ｌを出力し、ＴをＤ１に更新する。
【００４５】
次に、判定部１５ｂは、図５（ｂ）に示すように、次に表示する２行目のデータ行ｌの高さＤ２を算出する。また、判定部１５ｂは、Ｔが０より大きいため、表示されるデータ行ｌの高さの累積値すなわちＴにＤ２を加算した値がＭ未満であることを確認する。更新されたＴ（＝Ｔ＋Ｄ２）がＭ未満である場合には、判定部１５ｂは、見出し行ｌ０は表示範囲Ｒ内に表示されるため、見出し行ｌ０の挿入は不要と判定する。そこで、判定部１５ｂは、見出し行ｌ０から２行目のデータ行ｌを出力し、Ｔ＝Ｔ＋Ｄ２とする。
【００４６】
同様に、判定部１５ｂは、図５（ｃ）に示すように、次に表示する３行目のデータ行ｌの高さＤ３を算出する。また、判定部１５ｂは、Ｔが０より大きいため、表示されるデータ行ｌの高さの累積値（Ｔ＋Ｄ３）を算出し、更新されたＴがＭ未満であるため、見出し行ｌ０の挿入は不要と判定する。そして、判定部１５ｂは、見出し行ｌ０から３行目のデータ行ｌを出力し、Ｔ＝Ｔ＋Ｄ３とする。
【００４７】
判定部１５ｂは、同様の処理を繰り返し、次に表示するデータ行ｌの高さを加えたデータ行ｌの高さの累積値（Ｔ＋Ｄ）がＭ未満であれば、見出し行ｌ０の挿入は不要と判定する。そして、判定部１５ｂは、次に表示するデータ行を表示するとともに、Ｔを更新する。すなわち、判定部１５ｂは、図５（ｄ）に示すように、見出し行ｌ０から４行目の高さＤ４のデータ行ｌを出力し、Ｔ＝Ｔ＋Ｄ４とする。また、判定部１５ｂは、図５（ｅ）に示すように、見出し行ｌ０から５行目の高さＤ５のデータ行ｌを出力し、Ｔ＝Ｔ＋Ｄ５とする。
【００４８】
一方、判定部１５ｂは、次に表示するデータ行ｌの高さを加えたデータ行ｌの高さの累積値（Ｔ＋Ｄ）がＭ以上の場合には、スクロールした場合に表示されている見出し行ｌ０が表示範囲Ｒから外れるため、見出し行ｌ０の挿入が必要と判定する。
【００４９】
具体的には、判定部１５ｂは、図５（ｆ）に示すように、次に表示するデータ行ｌの高さＤ６を加えたデータ行ｌの高さの累積値（Ｔ＋Ｄ６）がＭ以上になるため、見出し行ｌ０の挿入が必要と判定する。この場合に、挿入部１５ｃが、見出し行ｌ０を出力する。また、判定部１５ｂは、図５（ａ）の場合と同様に、挿入された見出し行ｌ０の次にこの高さＤ６のデータ行ｌを出力し、Ｔ＝０とする。
【００５０】
このように、判定部１５ｂ及び挿入部１５ｃは、データ行ｌの出力数Ｃがリストの要素数Ｓに達するまで、図５に示した処理を繰り返してデータ表示画面を生成する。これにより、表示範囲Ｒ内のデータ表示画面をスクロールした場合にも、表示範囲Ｒ内に常に見出し行ｌ０を表示することが可能となる。
【００５１】
［処理の流れ］
図６は、実施例に係る表示制御処理の手順を示すフローチャートである。表示制御処理は、例えば、操作者の処理開始の指示入力を受け付けた場合に起動される。
【００５２】
まず、取得部１５ａが、記憶部１３に記憶されている処理対象の表形式のデータのリストＬと、リストＬの要素数Ｓとを取得する（ステップＳ１）。
【００５３】
次に、判定部１５ｂが、要素数Ｓを確認する（ステップＳ２）。判定部１５ｂは、要素数Ｓが０より大きい場合に（ステップＳ２，Ｙｅｓ）、ステップＳ３に処理を進め、要素数Ｓが０以下の場合に（ステップＳ２，Ｎｏ）、表示制御処理を終了する。
【００５４】
判定部１５ｂは、データ表示画面の表示範囲Ｒの高さＦ、見出し行ｌ０の高さＨを取得して、最大データ行高すなわち表示範囲Ｒに表示可能なデータ行ｌの高さＤの累積値Ｔの最大値Ｍ＝Ｆ−Ｈを算出する（ステップＳ３）。
【００５５】
また、判定部１５ｂは、先頭の見出し行ｌ０を出力する。また、判定部１５ｂは、データ行ｌの高さＤの累積値Ｔを０とする。また、判定部１５ｂは、データ行ｌの出力数Ｃ＝０とする（ステップＳ４）。
【００５６】
そして、判定部１５ｂは、データ行ｌの出力数Ｃが要素数Ｓより小さいか否かを確認する（ステップＳ５）。判定部１５ｂは、出力数Ｃが要素数Ｓより小さい場合に（ステップＳ５，Ｙｅｓ）、ステップＳ６に処理を進め、出力数Ｃが要素数Ｓに達した場合に（ステップＳ５，Ｎｏ）、表示制御処理を終了する。
【００５７】
判定部１５ｂは、次に表示するリストＬの（Ｃ＋１）番目のデータ行ｌを取得して、データ行ｌの高さＤを算出する（ステップＳ６）。また、判定部１５ｂは、Ｔが０より大きい場合に（ステップＳ７，Ｙｅｓ）、次に表示する（Ｃ＋１）番目のデータ行ｌの高さを加えたデータ行ｌの高さの累積値（Ｔ＋Ｄ）がＭ以上か否かを確認する（ステップＳ８）。
【００５８】
判定部１５ｂは、（Ｔ＋Ｄ）がＭ以上の場合に（ステップＳ８、Ｙｅｓ）、見出し行ｌ０の挿入が必要と判定する。その場合に、挿入部１５ｃが、見出し行ｌ０を出力する。また、判定部１５ｂが、データ行ｌの高さの累積値Ｔを０にする（ステップＳ９）。
【００５９】
次に、判定部１５ｂは、データ行ｌを出力し、ＴをＴ＋Ｄに更新し、ＣをＣ＋１に更新する（ステップＳ１０）。その後、判定部１５ｂは、ステップＳ５に処理を戻す。
【００６０】
また、判定部１５ｂは、（Ｔ＋Ｄ）がＭ未満の場合に（ステップＳ８，Ｎｏ）、見出し行ｌ０の挿入は不要と判定し、ステップＳ１０に処理を進める。
【００６１】
なお、Ｔが０以下の場合（ステップＳ７，Ｎｏ）、すなわち、見出し行ｌ０の後ろにデータ行ｌが出力されていない場合には、判定部１５ｂは、ステップＳ１０に処理を進める。これにより、見出し行ｌ０が連続して出力されることを防止できる。
【００６２】
［効果の一側面］
上述してきたように、本実施例に係る表示制御装置１０は、複数のデータセルとデータセルのタイトル名を示すセルとを含む表を表示範囲Ｒ上に表示するとともに、表示範囲Ｒ内に表示できないデータセルを表をスクロールして表示する。また、表示制御装置１０は、表示範囲Ｒ内のスクロール方向の大きさと、データセルのタイトル名を示すセルのスクロール方向の大きさとデータセルのスクロール方向の大きさとの合計との差分を算出する。また、表示制御装置１０は、算出した差分が、次に表示するデータセルのスクロール方向の大きさより小さい場合に、データセルのタイトル名を示すセルの挿入が必要と判定する。また、表示制御装置１０は、セルの挿入が必要と判定した場合に、次に表示するデータセルの前にデータセルのタイトル名を示すセルを挿入する。したがって、表形式のデータの見出しを画面に常に表示することが可能となる。
【００６３】
また、表示制御装置１０は、さらに、次に表示するデータセルの前がタイトル名を示すセルではない場合に、タイトル名を示すセルの挿入が必要と判定する。したがって、タイトル名を示すセルが連続して表示されることを防止できる。
【００６４】
また、本実施例において、スクロール方向は、データ行ｌと、データ行のタイトル名を示す複数の見出し行ｌ０とが表示されるデータ表示画面において、行を変更する方向としているが、これに限定されない。例えば、データ列と、データ列のタイトル名を示す複数の見出し列とが表示されるデータ表示画面において、列を変更する方向にスクロールさせる場合に、表示制御処理を適用することにより見出し列を常に画面に表示することも可能である。このように、データ表示画面の形式に応じて柔軟に見出しを表示することができる。
【００６５】
また、本実施例の表示制御処理において、表示範囲Ｒの大きさは変更されないが、表示範囲Ｒの大きさを可変としてもよい。一例として、表示範囲Ｒの大きさを変更する指示入力を受け付けた場合には、変更後の表示範囲Ｒの大きさに基づいて本実施例の表示制御処理を行って、データ表示画面を生成することにより、上記と同様に、見出しを表示範囲Ｒ内に常に表示することが可能となる。
【００６６】
［表示制御プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図７を用いて、上記の実施例と同様の機能を有する表示制御プログラムを実行するコンピュータの一例について説明する。
【００６７】
図７は、実施例に係る表示制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図７に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ（Read  Only  Memory）１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００６８】
ＨＤＤ１７０には、図７に示すように、上記の実施例で示した制御部１５と同様の機能を発揮する表示制御プログラム１７０ａが記憶される。この表示制御プログラム１７０ａは、図３に示した制御部１５の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【００６９】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から表示制御プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、表示制御プログラム１７０ａは、図７に示すように、表示制御プロセス１８０ａとして機能する。この表示制御プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち表示制御プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、表示制御プロセス１８０ａが実行する処理の一例として、図６に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【００７０】
なお、上記の表示制御プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ（Digital  Versatile  Disc）、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらの装置から各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００７１】
１０  表示制御装置
１１  入出力Ｉ／Ｆ部
１３  記憶部
１５  制御部
１５ａ  取得部
１５ｂ  判定部
１５ｃ  挿入部
２０  ユーザ端末
３０  ネットワーク
【図１】
2019086838.tif 000003
【図２Ａ】
2019086838.tif 000004
【図２Ｂ】
2019086838.tif 000005
【図２Ｃ】
2019086838.tif 000006
【図３】
2019086838.tif 000007
【図４】
2019086838.tif 000008
【図５】
2019086838.tif 000009
【図６】
2019086838.tif 000010
【図７】
2019086838.tif 000011