[go: up one dir, main page]

JP3744270B2 - Table display control device and recording medium recording table display control program - Google Patents

Table display control device and recording medium recording table display control program Download PDF

Info

Publication number
JP3744270B2
JP3744270B2 JP21427999A JP21427999A JP3744270B2 JP 3744270 B2 JP3744270 B2 JP 3744270B2 JP 21427999 A JP21427999 A JP 21427999A JP 21427999 A JP21427999 A JP 21427999A JP 3744270 B2 JP3744270 B2 JP 3744270B2
Authority
JP
Japan
Prior art keywords
column
display
displayed
scroll
column name
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.)
Expired - Fee Related
Application number
JP21427999A
Other languages
Japanese (ja)
Other versions
JP2001042854A (en
Inventor
俊仁 寺田
紳司 山賀
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 JP21427999A priority Critical patent/JP3744270B2/en
Publication of JP2001042854A publication Critical patent/JP2001042854A/en
Application granted granted Critical
Publication of JP3744270B2 publication Critical patent/JP3744270B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、表の表示制御装置、表の表示制御方法、及び表の表示制御プログラムを記憶した記憶媒体に関する。
【0002】
【従来の技術】
エディタ、ワープロ、及び表計算ソフトなどのソフトウェアの表示においては、スクロールは必須の機能になっている。スクロールは、ディスプレイの1画面にデータを表示しきれないとき、表示画面を上下左右に移動して残りの部分を表示する機能である。すなわち、エディタ、ワープロでは、テキストが複数ページである場合、また、表計算ソフトなどでは、「ワークシート」が複数行×複数列で構成される場合、ユーザは、スクロール操作を行うことによって、所望の行や所望の列を閲覧することができる。
【0003】
また、該スクロール機能は、会計業務などの帳票の表示にも利用される。該帳票として、図32に示すような、階層構造を有する「括り表」が知られている。同図は、該括り表の一例である「商品売上実績表」を示す図である。商品の場合、一つの商品が複数のカテゴリに分類され、さらに、各カテゴリーが、複数の実際に販売されている商品に分類されるというように、階層構造で表現される。このような階層構造を表形式で表現したのが括り表である。
【0004】
同図に示す商品売上実績表200は、スクロール操作の対象外の領域である固定領域210と、スクロール操作の対象領域であるスクロール領域220に分かれており、スクロール領域220のみでスクロールが可能になっている。すなわち、固定領域210は階層構造で表現された商品に関する各項目(「電卓」などの商品項目、「DIARY」等の「商品のカテゴリ項目」、及び「0112123 SF−4400」等の商品識別番号並びに商品名)から構成されており、スクロール領域220は、固定領域の各行の各データ項目の各種属性データ(「売上金」、「売上数」、「仕入れ数」、「粗利」、「粗率」、「在庫数」、「在庫月」、・・・)の表示が表示される複数の列から構成されている。
【0005】
図32に示すような帳票等の表の表示においては、表示画面サイズの制約により、1画面に表全体を表示することは不可能な場合が多い。このため、スクロール領域220において、所望の行または列を表示させる操作が必要となる。
【0006】
上記のような操作として、従来、表の任意の列の表示出力を、「抑制」及び「抑制解除(表示再開)」する方法が知られている。このような「表示抑制」及び「表示再開」は、従来、以下のような操作により指定するようになっている。
【0007】
▲1▼ まず、表から表示を抑制したい(非表示としたい)列を選択し、次に、メニューで「表示しない」項目を指定する。また、表示抑制を解除して、非表示となっている列を「表示再開」させる場合には、まず、表示抑制(非表示)となっている両側(両端の列)を指定し、次に、メニューで「再表示」項目を指定する。
【0008】
▲2▼ 表全体に有効な「列表示」のダイアログボックスを利用して、各列の表示/非表示を一括指定する。この場合、ダイアログボックス内で、各列毎に、表示または非表示のチェックボックスをチェックする。
【0009】
【発明が解決しようとする課題】
しかしながら、上記▲1▼、▲2▼の方式には、それぞれ、以下のような問題があった。まず、▲1▼の方式の場合は、表示を抑制した列の抑制解除の操作が、ユーザにとっては、直観的でないため、分かりにくいという問題があった。また、現画面の表示範囲外の表の表示状態を変更するためには、事前に、該当列が表示されるように、スクロール等の操作を行う必要があり、操作の迅速性という観点で問題があった。
【0010】
また、▲2▼の方式の場合は、ダイアログボックスのような別ウィンドウを利用するので、指定のための操作手順数が多くなり、操作が煩わしいという問題があった。また、複数の列に対して表示/非表示を指定する場合、ダイアログボックスの「OK」ボタンを操作するまで、指定通りに表が表示できるか確認できないという問題があった。
【0011】
また、従来の表表示においては、スクロールは1列単位で、順次、行われるようになっていた。このため、例えば、画面上に表示されていない列をスクロールにより表示させようとした場合、表示させるまでに時間がかかり、また、どの程度、スクロールすればよいのかは、実際にスクロールさせてみないと知ることはできず不便であった。
【0012】
本発明の目的は、表の列の表示/非表示を迅速に指定しながら、リアルタイムで確認でき、また、さらに、現画面に表示されていない列についても、表示/非表示を、容易に指定できるようにすることである。また、さらに、所望の列を即座に所定に位置に表示できるようなスクロールを実現することである。
【0014】
【課題を解決するための手段】
本発明の請求項1に記載の表の表示制御装置は、各列が列名を有する複数列から構成される表を表データとして記憶する表データ記憶手段と、前記表データから前記表データの全ての列名を抽出して、この列名を記憶する列名抽出手段と、前記抽出された全ての列名を列名一覧として前記表データと並列的に同一画面上に表示する表示手段と、表示された前記列名一覧の中から、前記表データのスクロール列を指定するスクロール列指定手段と、前記表データのうち、指定された前記スクロール列の前記表データを画面上の所定の位置からスクロール制御して前記表示手段へ表示するスクロール制御手段と、スクロール表示の設定をされた前記表データの列が前記画面上に全て表示されるか否かを判別する判別手段と、前記判別手段による判別結果が識別可能な形態となるよう制御して前記列名一覧を前記表示手段へ表示する列名一覧制御手段と、を備えたことを特徴とする。この所定の列位置とは、例えば、表のスクロール領域の左端である。また、前記表示手段は、例えば、表示されている列と表示されていない列とが識別可能となるように列名一覧を表示させる。
【0017】
本発明の請求項2に記載の表の表示制御装置は、各列が列名を有する複数列から構成される表を表データとして記憶する表データ記憶手段と、前記表データから前記表データの全ての列名と、列名毎に表示または非表示の状態を設定する設定情報とを抽出して記憶する列名抽出手段と、前記抽出された全ての列名を前記設定情報に基づいて各列毎に表示または非表示が識別可能な形態で列名一覧として前記表データと並列的に、且つ、この列名を横方向に前記表データと同一画面上に表示する表示手段と、表示された前記列名一覧の中から、1または複数の列名を選択して各列毎に表示または非表示の状態を指定する表示列指定手段と、前記表示列指定手段の指定に従って、前記列名一覧の各列毎に表示または非表示の状態を設定する前記列名抽出手段の設定情報を更新し、その設定情報に基づいて前記表データのうち、表示の状態を設定された列のデータを前記表示手段へ表示するように制御する列表示制御手段と、を備えたことを特徴とする。
【0018】
前記表示手段は、例えば、前記設定情報に基づいて各列毎に表示または非表示が識別可能な形態で列名一覧として前記表データと並列的に同一画面上に表示させる。
【0020】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施形態を説明する。
図1は、本発明の実施形態の表表示制御装置を備えた情報処理装置のシステム構成を示す図である。
【0021】
同図において、表情報テーブル10は、表データ記憶部11、表の行数記憶部13、及び表の列数記憶部15から成る。
表データ記憶部11は、階層構造を有する括り表(以下、単に表と記載する場合もある)のデータを記憶するメモリである。表の行数記憶部13は、上記括り表の総行数を格納するメモリである。表の列数記憶部15は、上記括り表の総列数を格納するメモリである。
【0022】
表データ生成部20は、該表情報テーブル10に格納されている情報を基に、上記括り表を表示するために必要な表データ(列見出しデータ、項目行データ等)を生成し、これを表示メモリ30内に書き込む。
【0023】
表示メモリ30は、列見出し部バッファ31とデータ行部バッファ32を有する。上記表データ生成部20によって生成された列見出しデータと項目行データは、それぞれ、列見出し部バッファ31及びデータ行部バッファ32に書き込まれる。
【0024】
表示属性テーブル40は、上記括り表の各列の属性情報を記憶するメモリである。上記属性情報は、「列名」、「列幅」、「列表示フラグW」、「列表示フラグS」、「表示状態フラグ」及び「選択状態フラグ」である。
【0025】
列名は、上記括り表の各列の名称である。列幅は、上記括り表の各列の幅である。列表示フラグWは、後述する列名一覧コントロール上で選択された上記括り表の各列の表示/非表示指定を示すフラグである。列表示フラグWが「表示指定」の列は表示され、「非表示指定」の列は非表示(表示抑制)となる。列表示フラグSは、後述するジャンプスクロール操作後に、表示または非表示となる上記括り表の各列の表示/非表示状態を示すフラグである。列表示フラグSが「表示」の列は表示され、「非表示」の列は非表示となる。
【0026】
表示状態フラグは、上記括り表の各列が、現在、表示画面内(表示範囲内)または表示画面外(表示範囲外)にあるかを示すフラグある。ここで、表示範囲内にある列とは、表示装置90の画面に完全に表示されている左端の列と右端の列、及びそれらの列の間に存在する列を示す。
【0027】
選択状態フラグは、上記括り表の各列が、現在、選択中または未選択のいずれの状態であるかを示すフラグである。後述するように、本実施形態では列名一覧コントロール上でのマウのドラッグ操作により、表示または非表示とする複数の列を選択可能であり、その後、該複数の列のいずれかをダブルクリック(Wクリック)することにより、該複数の列を表示または非表示にすることができる。選択状態フラグは、上記選択操作中において各列が選択(選択中)または未選択の状態にあるかを記憶するフラグである。
【0028】
上記括り表を構成する各列は、常時、表示される固定列(固定項目の列)とスクロール可能な列(データが表示されるスクロール列)に区分される。そして、スクロール列は、画面に表示されている表示列と、画面に表示されていない非表示列に区分される。このスクロール列の表示/非表示は、後述するように、列表示フラグWと列表示フラグSによって制御される。尚、表において、固定列から構成される領域を固定表示領域(もしくは固定項目表示領域)、スクロール列から構成される領域をスクロール領域と呼ぶことにする。
【0029】
列幅情報テーブル50は、上記括り表の各列について、画面上での「始点X座標」と「列幅(X座標の幅)」を格納するテーブルである。尚、X軸は、画面の水平方向に平行な軸である。
【0030】
列名一覧データバッファ60は、画面に表示される列名一覧コントロール上に一覧表示される列名の一覧データを格納するバッファである。
表示制御部70は、列名一覧データバッファ60を参照して、列名一覧コントロールを、表示装置80の画面の下方に表示させる。また、表データ表示制御部70は、表示メモリ30をアクセスし、列見出しバッファ31から上記括り表の列見出しデータを読みだすと共に、データ行バッファ32から上記括り表の項目行データの該当表示データを読みだして、これらのデータを基に、表示装置80の画面に括り表を表示させる。
【0031】
表示制御部70は、内部に、上記括り表のスクロール列の最終列の列番号(表の最終列番号)が設定されるレジスタ71、上記括り表の「有効スクロール幅」が設定されるレジスタ72、上記括り表のスクロール対象の最左列の列番号(スクロール開始列番号)が設定されるレジスタ73、及びスクロール領域の左端に表示される列の列番号(現在スクロール領域左端列番号)が設定されるレジスタ74を備える。
【0032】
表示制御部70は、後述するように、これらのレジスタ71〜74に設定されている基本情報等を基に、括り表の表示制御を行う。
尚、本実施形態においては、図1に示すように、「表の最終列番号」、「有効スクロール幅」、「スクロール開始列番号」、及び「スクロール開始列番号」に対して、それぞれ、「Cmax」、「Wscrl」、「Cscrl」、及び「GridCscrl」の変数名を割り当てる。
【0033】
また、表示制御部70は、図1においては特に図示していないが、表示用の作業メモリとして、後述する論理Viewエリアを有している。論理Viewエリアに描画された表示データの内容が表示装置90に表示される。
【0034】
表示装置80は、CRTディスプレイ、LCD、FED(Field Emission Display),プラズマ・ディスプレイ等のディスプレイである。
【0035】
入力装置90は、括り表を生成するための入力や、該括り表へのデータ入力、、該括り表のスクロール領域の各列の表示/非表示の設定、該スクロール領域のジャンプスクロール操作等を行うための入力装置であり、例えば、キーボード、マウス等のポインティングデバイス等から成る。
【0036】
マウス操作イベント処理部100は、入力装置90におけるマウスに対する各種操作(シングルクリック、ダブルクリック、マウスボタンダウン、ドラッグ、マウスボタンアップ等)のイベントの発生を、メッセージにより表示制御部70に通知する。尚、特には、図示してはいないが、入力装置90におけるキーボード操作のイベントを、表示制御部70に通知するイベント処理部も設けられる。
【0037】
外部記憶装置110は、表情報テーブル10に展開される括り表のデータを記憶する記憶装置であり、ハードディスク装置や光ディスク装置等から成る。
図2は、上記表示属性テーブル40のデータ構造を示す図である。
同図に示すように、表示属性テーブル40は、「C1」、「C2」、「C3」、・・・「Cn」の列番号で表現された各列について、「列名」、「列幅」、「列表示フラグW」、「列表示フラグS」、「表表示状態フラグ」、及び「選択状態フラグ」の各情報を格納している。すなわち、例えば、列番号「C1」の列について、「XXX」という列名、列幅「W1」、列表示状態フラグW“1”、列表示状態フラグS“1”、表示状態フラグ“1”、及び選択状態フラグ“0”を格納している。尚、本実施形態では、列番号は、“0”から始まる連番とする。すなわち、C1=0,C2=1,・・・Cn=n−1とする。
【0038】
ところで、本実施形態では、「列名」、「列幅」、「列表示フラグW」、「列表示フラグS」、「表表示状態フラグ」、及び「選択状態フラグ」について、それぞれ、「Name」、「Width」、「ShowFlgW」、「ShowFlgS」、「DispAreaflg」、「SelectAreaflg」という変数名を割り当てる。そして、これらの変数は、ColmStTbl〔C〕(Cは列番号)という名称の構造体のメンバとなる。
【0039】
ShowFlgWは“1”(True)のとき「表示指定」、“0”(False)のとき「非表示指定(表示抑制指定)」を示す。ShowFlgSは“1”(True)のとき「表示中」、“0”(False)のとき「非表示中」を示す。後述するように、ShowFlgWとShowFlgSは、それぞれ、ダブルクリックとシングルクリックの操作に関係するフラグである。
【0040】
DispAreaflgは“1”(True)のとき「表示範囲内」、“0”(False)のとき「表示範囲外」を示す。また、SelectAreaflgは“1”(True)のとき「選択中」、“0”(False)のとき「未選択」を示す。
【0041】
図3は、上記列幅情報テーブル50のデータ構造を示す図である。
同図に示すように、列幅情報テーブル50は、「Ci」(i=1,2,3,・・・n)の列番号で表現された各列について、表示装置90の画面上での始点X座標「Xi」と表示列幅「Wi」を格納している。
【0042】
図4は、上記列名一覧データバッファ60のデータ構造を示す図である。
同図に示すように、列幅情報テーブル50、「Ci」(i=1,2,3,・・・n)の列番号で表現された各列について、表示装置90に表示される列名一覧コントロールに一覧表示される列名(列見出し名)を格納している。尚、図3と図4を参照すれば明らかなように、「列見出し名」の表示幅は、「列幅」に等しい。
【0043】
図5は、表示制御部70による表の描画方法を説明する概念図である。
図5の上方に示された物理Viewエリア210は、表の全表示データを格納するメモリであり、表示メモリ30に対応している。したがって、物理Viewエリア210には、表の全列・全行の表示データが描画される。この描画は、表データ生成部20によって行われる。物理Viewエリア210は、固定項目描画領域211とスクロール項目描画領域213とから構成される。固定項目描画領域211には全ての固定項目(固定列)の表示データが描画され、スクロール項目描画領域213には全てのスクロール項目(スクロール列)の表示データが描画される。
【0044】
一方、論理Viewエリア220は、表示装置90に実際に表示される表の表示データを格納するメモリであり、物理Viewエリア210と同様に固定項目描画領域221とスクロール項目描画領域223とから構成される。固定項目描画領域221とスクロール項目描画領域223には、それぞれ、表示装置90に表示される表の固定領域の表示データとスクロール領域の表示データが格納される。表示制御部70は、物理Viewエリア210から表示すべき表の表示データを読み出し、これを論理Viewエリア220に描画する。表示装置90は、論理Viewエリア220に描画されている表示データを読み出し、その表示データを基に画面に表を表示させる。
【0045】
論理Viewエリア220の固定項目描画領域221に描画される列は(固定列であるため)固定であるが、スクロール項目描画領域223に描画されるスクロール列は可変である。これは、後述するように、列名一覧コントロール上でのジャンプスクロール操作や、単一または複数のスクロール列の表示/非表示指定操作に応じて、スクロール項目描画領域223に描画されるスクロール列が変化するからである。
【0046】
論理Viewエリア220のスクロール項目描画領域223に描画されるスクロール列の幅の総和はWscrlである。したがって、論理Viewエリア220に描画される物理Viewエリア210のスクロール項目描画領域213内のスクロール列の列幅の総和もWscrlである。また、論理Viewエリア220のスクロール項目描画領域223の左端に描画される物理Viewエリア210のスクロール項目描画領域223の列の列番号はGridCscrlに設定される。図5は、列番号がGridCscrlの列の左端から列方向に少なくともWscrlの範囲内にあるスクロール列の全てが表示指定である場合の、物理Viewエリア210から論理Viewエリア220への描画を示している。
【0047】
また、本実施形態においては、表の総行数を(Lmax+1)とし、表の各行に対し、先頭行から“0”で始まる整数の連番を割り付ける。また、各行のピッチ(セル幅に等しい)をLpitchとする。
【0048】
論理Viewエリア220のスクロール項目描画領域223に描画されるスクロール列は、後述するように、表示属性テーブル40の列表示状態フラグ(ShowFlgW)によって決定される。このため、固定項目描画領域211に描画されている固定列の表示データは、常に、論理Viewエリア220に描画されるが、スクロール項目描画領域213に描画されているスクロール列の表示データは、スクロール操作以外にも、その列のShowFlgWの値によって、描画されるか否かが決定される。したがって、図5に示すように、スクロール項目描画領域213内の連続するスクロール列の表示データが論理Viewエリア220のスクロール項目描画領域223に描画されるとは、必ずしも限らない。
【0049】
また、表示装置90の画面に表の全ての行を表示することは不可能であるため、物理Viewエリア210内の表示行は、縦スクロールに応じて変化する。図5においては、固定項目描画領域211とスクロール項目描画領域213の表示領域(論理Viewエリア220に描画される領域)を、それぞれ、網かけ模様の矩形(表示領域211D)と右斜線でハッチングされた矩形(表示領域213D)で示している。
【0050】
固定項目描画領域211内の表示領域211Dに含まれる行とスクロール項目描画領域213内の表示領域213Dに含まれる行は、横スクロール操作によって変化するので、論理Viewエリア220の内容も、それに応じて変化することになる。また、本実施形態においては、後述する列名一覧コントロール上での操作によって、非表示指定となる列(表示抑制される列)が指定されるので、スクロール項目描画領域213内の表示領域213Dの構成が変化する。このため、スクロール項目描画領域213の表示領域213Dは、必ずしも、1つの矩形となるとは限らず、複数の離散した矩形(複数の離散したスクロール列)で構成される場合もある。
【0051】
次に、図1の情報処理装置の全体動作を、図6のフローチャートを参照しながら、説明する。
まず、外部記憶装置110から括り表に関するデータを読みだして、表情報テーブル10を生成する(ステップS1)。
【0052】
これにより、表データ記憶部11に表データが、表の行数記憶部13に表の総行数が、表の列数記憶部15に表の総列数が、それぞれ、格納される。
次に、表データ生成部20が、上記表情報テーブル10を参照して表データを生成し、表の列見出し部データと表のデータ部データを、それぞれ、列見出し部バッファ31とデータ行部バッファ32に格納する(ステップS2)。
【0053】
続いて、表示制御部70が、表示属性テーブル40と列幅情報テーブル50を参照して、表示メモリ30から表示すべき表データ(列見出し部データとデータ部データ)を読み出して、該表示データを表示装置90に書き出す(ステップS3)。
【0054】
これにより、表示装置90に表の初期画面が表示がなされる。
次に、表示制御部70が、表示属性テーブル40と列名一覧データバッファ60を参照して、列名一覧データを列名一覧データバッファ60内に生成し(ステップS4)、該列名一覧データを表示装置90に書き出す(ステップS5)。
【0055】
これにより、表示装置90の画面に列名一覧データ(列名一覧コントロール)が表示される。
以上の処理により、表示装置90には、図28に示すような初期画面300が表示される。この初期画面300においては、画面の左下に列名一覧コントロール301が表示される。列名一覧コントロール301には、表示装置90に表示されている表(商品売り上げ実績表)の列名の一覧が表示されると共に、表示列の列名と非表示列(完全に表示されていない列及び全く表示されていない列)の列名が、それぞれ、異なる表示形態で表示される。
【0056】
本実施形態においては、表示列の列名(「商品コード」〜「在庫数」)は、白を背景として黒で表示される。また、非表示の列名(「在庫月数」〜「01月」)は、グレーを背景として黒で表示される。また、さらに、表示列の列名の枠は実線で、非表示列の列名の枠は破線(点線)で表示される。
【0057】
次に、マウス操作イベント処理部100が、列名一覧コントロールに対するマウス操作のイベントが発生したか判別し(ステップS6)、発生していなければ(ステップS6、NO),このステップS6の処理を繰り返す。
【0058】
図7に示すように、本実施形態においては、該マウス操作の種類として、「マウスボタンダウン」(同図(b)参照)、「マウスドラッグ&マスタボタンアップ」(同図(c)参照)、及び「ダブルクリック(Wクリック)」(同図(d)参照)がある。
【0059】
本実施形態においては、これらのマウス操作により、複数の列を、“表示”かた“非表示”(表示抑制)に、または、“非表示”から“表示”にする選択操作が可能である。ここで、列名一覧コントロールにおける該選択操作の方法を、図7を参照しながら説明する。
【0060】
同図(a)は、列名一覧コントロール301の初期表示を示している(図28参照)。この状態のとき、「粗率」の列から「在庫月数」までの列を“非表示”にする場合には、まず、図7(b)に示すように、列名一覧コントロール301の「粗率」の表示部分にマウスカーソル303を重ね、マウスボタンをダウンする。
【0061】
次に、同図(c)に示すように、マウスボタンを押したまま(マウスボタンをダウンしたまま)、マウスカーソル303を「在庫月数」の表示部分まで移動した後(ドラッグ操作した後)、マウスボタンを離す(マウスボタンをアップする)。ここまでのマウス操作により、「粗率」の列から「在庫月数」の列までが選択される(このとき、本実施形態では、それらの列名の背景色が青になる)。
【0062】
続いて、同図(d)に示すように、マウスカーソルを、背景色が青となっている選択範囲内の「在庫数」の表示部分に重ね、ダブルクリックする。
以上のマウス操作により、「粗率」、「在庫数」、及び「在庫月数」の列が「非表示」に指定され、それらのShowFlgWが、“表示指定”(True)から“非表示指定”(False)に変化する。
【0063】
この結果、「粗率」及び「在庫数」の列が画面から消え、「仕入れ数」の後に続いて、「当月」以降の列が表示される(「在庫月数」の列は表示されない)。この表の表示の変化に伴い、列名一覧コントロール301の表示も変化する。すなわち、非表示指定となった「粗率」、「在庫数」、及び「在庫月数」の列名が、グレーを背景として、太字の白で表示される。また、「粗率」及び「在庫数」の枠も、実線から破線に変化する(「在庫月数」の枠は破線のまま)。
【0064】
このように、「粗率」、「在庫数」、及び「在庫月数」の列が非表示となった結果、「当月」以降の列が、「粗利」の列に続いて表示されるように、画面の左方向に移動して表示され、新たに、「当月」及び「03月」までの列が完全に表示されるようになる。この結果、列名一覧コントロール301の表示において、「当月」及び「03月」の列名が、白を背景として黒で表示される。また、これらの列名の枠も破線から実線に変化する。
【0065】
上述したように、本実施形態においては、列名一覧コントロール301に対するマウス操作により、現在、表示されていない列のShowFlgWの設定を変更することも可能である。また、複数の列のみならず、単一の列の表示/非表示指定も可能である。図8は、そのような単一列の非表示指定の一例を示す図である。
【0066】
同図は、「03月」の列のみを“表示指定”から“非表示指定”に変更した場合の表示状態を示している。この場合には、列名一覧コントロール301の「03月」の列名表示部分にマウスカーソルを重ねて、その表示をダブルクリックすればよい。この結果、以後の操作において、左方向に横スクロールを行った場合、「03月」の列は表示されず、「当月」の列の後には、「02月」の列が表示される。このように、単一列の表示/非表示指定は、列名一覧コントロール301上で列名をダブルクリックするだけのワンタッチ操作で可能である。
【0067】
再び、図6のフローチャートの説明に戻る。
ステップS6で、マウス操作イベントが発生したと判別すると(ステップS6、N0)、ジャンプスクロール操作のイベントであるか判別する(ステップS7)。
【0068】
本実施形態においては、列名一覧コントロール301上のマウスカーソルが重なった「列名」をシングルクリックする操作が、該ジャンプスクロール操作に該当する。このジャンプスクロール操作を行うと、シングルクリックされた列名の列が、表の先頭のスクロール項目(最左端に表示される列)となるように、表全体が横スクロールされる。
【0069】
ステップS7において、ジャンプスクロール操作が行われたと判別すると(ステップS7,YES)、ジャンプスクロール処理を実行し(ステップS8)、その後、ステップS6に戻る。
【0070】
一方、ステップS7において、ジャンプスクロール操作ではないと判別すると(ステップS7、NO)、上述した図7の「列の表示/非表示」を指定する操作であるか判別する(ステップS9)。そして、列の表示/非表示の指定操作であれば(ステップS9、YES)、列の表示/非表示処理を実行し(ステップS10)、その後、ステップS6に戻る。
【0071】
また、ステップS9で、列の表示/非表示の指定操作でないと判別すると(ステップS9、NO)、何もせず、ステップS6に戻る。
このようにして、システムが起動している間、ステップS6〜ステップS10のメッセージループ処理を実行する。
【0072】
図9は、ステップS8のジャンプスクロール処理を説明するフローチャートである。
列名一覧コントロール301上で、シングルクリック(Sクリック)を行うと、マウス操作イベント処理部100は、発生イベントがシングルクリック操作であることを示す情報とシングルクリックされた列名の列の列番号が設定されたメッセージを、表示制御部70に通知する。
【0073】
表示制御部70は、このメッセージを受信すると、図9のフローチャートの処理を実行する。
すなわち、表示制御部70は、まず、上記メッセージに設定された列番号を変数Csno及びGridCscrlに設定する(ステップS11)。次に、変数CにCscrlの値を設定する(ステップS12)。これにより、CsnoにSクリックされたスクロール列の列番号が設定される。また、GridCscrlに表のスクロール領域の左端に表示すべきスクロール列の列番号が設定され、Cにスクロール開始列の列番号が設定される。
【0074】
次に、C<Csnoであるか判断する(ステップS13)。そして、C<Csnoが“True”であれば、ColmStTbl〔C〕.ShowFlgSを“False”に設定する(ステップS14)。一方、“False”であれば、ColmStTbl〔C〕.ShowFlgSを“True”に設定する(ステップS15)。
【0075】
ステップS14またはS15の処理の後、変数Cの値を“1”インクリメントし(ステップS17)、C>Cmaxであるか判断する(ステップS17)。
そして、C>Cmaxが“False”であれば、ステップS13に戻る。
【0076】
このようにして、列番号がCsnoより小さい列CiのColmStTbl〔Ci〕.ShowFlgSは“False”に、列番号がCsno以上の列CjのColmStTbl〔Cj〕.ShowFlgSは“True”に設定される。
【0077】
そして、以上のようにして、各スクロール列のColmStTbl〔C〕.ShowFlgSの設定が終了すると、変数Csnoを引数として、表示対象の表オブジェクトに対して、後述するSクリック用列表示切替メソッドを呼び出す(ステップS18)。
【0078】
このSクリック用列表示切替メソッドの実行により、物理Viewエリア210のスクロール項目描画領域113の表示データの論理Viewエリア220への再描画が行われる。そして、図5に示すように、表示装置90の画面に、上記列名一覧コントロール301上で列名がSクリックされた列が、スクロール領域の先頭に表示されるようにジャンプスクロールされた表が表示される。
【0079】
ステップS18に続いて、後述する列の表示領域判定ルーチンを呼び出して、ColmStTbl〔C〕.DisplyAreaFlgの値を設定し(ステップS19)、次に、列名一覧コントロール表示ルーチンを呼び出す(ステップS20)。この列名一覧コントロール表示ルーチンの呼び出しにより、列名一覧コントロール301が、ステップS22で表示される表の表示形態に対応する形式で表示される。この列名一覧コントロール表示ルーチンの詳細についても、後述する。
【0080】
図10は、ステップS10の列の表示/非表示処理の全体フローを示す図である。
このフローにおいて、まず、マウスボタンダウン処理を行う(ステップS31)。このマウスボタンダウン処理においては、図7(b)に示すように、列名一覧コントロール301において、マウスボタンダウン操作がなされた列名の背景色を変化させる。このマウスボタンダウン処理ルーチンの詳細は、後述する。
【0081】
次に、マウスボタンダウン&マウスムーブ処理を行う(ステップS32)。このマウスボタンダウン&マウスムーブ処理においては、図7(c)に示すように、列名一覧コントロール301において、マウスドラッグ操作に応じて選択される列名の背景色を変化させる。このマウスボタンダウン&マウスムーブ処理ルーチンの詳細についても、後述する。
【0082】
続いて、マウスボタンアップ処理を行う(ステップS33)。このマウスボタンアップ処理においては、図7(c)に示すように、列名一覧コントロール301において、マウスボタンダウン操作とマウスボタンアップ操作とにより指定された選択範囲内の列名の表示形態を変化させると共に、ColmStTbl〔C〕.Flagを“True”(複数列が選択された場合)または“False”(単一の列が選択された場合)に設定する。このマウスボタンアップ処理ルーチンの詳細についても、後述する。
【0083】
そして、最後に、マウスダブルクリック(マウスWクリック)処理を行う(ステップS34)。このマウスWクリック処理においては、図7(d)に示すように、列名一覧コントロール301上でのダブルクリックによって確定された列のShowFlgWを変更する。そして、この変更に応じて、列名一覧コントロール301の表示形態及び表のスクロール領域の表示内容を変化させる。このマウスボタンWクリック処理の詳細についても、後述する。
【0084】
図11(a)は、表示制御部70が行う表示属性テーブル40(ColmStTbl〔C〕)全体の初期化処理の詳細を示すフローチャートである。この図11(a)のフローチャートの処理は、図6のフローチャートのステップS4において行われる。
【0085】
まず、表情報テーブル10の表データ記憶部11から表示対象とする表オブジェクトを読みだして、Wscrlに有効スクロール幅を、Cscrlにスクロール対象開始列番号(スクロール対象の最左端の列の列番号)を、Cmaxに表オブジェクトの最終列番号を、GridCscrlに現在のスクロール領域の左端の列の番号(この段階では、GridCscrl=Cscrlである)を設定する(ステップS41)。
【0086】
次に、変数Cを“0”に初期設定し(ステップS42)、続いて、Cscrlが“0”であるか判別する(ステップS43)。Cscrlが“0”となる表オブジェクトは、固定列の無い表のオブジェクトである。
【0087】
続いて、Cscrl=0が“False”であれば、各固定列の表示属性を、表オブジェクトから各固定列の表示属性テーブルColmStTbl〔i〕(iは列番号)にセットする(ステップS44)。
【0088】
本実施形態では、表示属性テーブル40は、各列の表示属性テーブルColmStTbl〔i〕から構成されるものとする。この表示属性テーブルColmStTbl〔i〕は、図11(b)に模式的に示すような構造体として定義される。この構造体は、メンバとして、Name,Width,ShowFlgW,ShowFlgS,DispAreaFlg,及びSelectAreaFlgを有する。メンバName,Width,ShowFlgW,ShowFlgS,DispAreaFlg,及びSelectAreaFlgには、それぞれ、列名、列幅、列表示フラグW、列表示フラグS、表示状態フラグ、及び選択状態フラグが設定される(図2参照)。
【0089】
よって、ステップS44において、ColmStTbl〔C〕.Name、ColmStTbl〔C〕.Width、ColmStTbl〔C〕.ShowFlgW、ColmStTbl〔C〕.ShowFlgS、ColmStTbl〔C〕.DispAreaFlg、ColmStTbl〔C〕.SelectAreaFlgに、それぞれ、列番号Cの列名、列幅、列表示フラグW値(=True)、列表示フラグS値(=True),表示状態フラグ値(=True)、選択状態フラグ値(=False)が設定される。
【0090】
次に、Cの値を“1”インクリメントし(ステップS45)、続いて、C≧Cscrlであるか判断する(ステップS46)。C≧Cscrlが“False”(偽)であれば、ステップS43に戻る。
【0091】
このようにして、C≧Cscrlが“True”(真)となるまで、ステップS43〜S46の処理を繰り返し、表示属性テーブル40の固定列の属性情報を設定する。
【0092】
そして、ステップS46で、C≧Cscrlが“True”、すなわち、C=Cscrlであると判断すると、スクロール列の表示属性を、表オブジェクトから該スクロール列の表示属性テーブルColmStTbl〔C〕に設定する(ステップS47)。
【0093】
このステップS47の処理は、変数Cの値がスクロール列の列番号を示す以外は、上述したステップS43の処理と同様である。
ステップS47に続いて、変数Cの値を“1”インクリメントし(ステップS48)、次に、C>Cmaxであるか判断する(ステップS49)。そして、C>Cmaxが“False”である間、ステップS47〜S49の処理を繰り返し、表示属性テーブル40の全てのスクロール列(列番号がCscrl〜Cmaxの列)の属性情報を設定する。
【0094】
そして、C>Cmaxが“True”であると判断すると(ステップS49,YES)、列の表示領域判定ルーチンを呼び出し、表示属性テーブル40のDisplyAreaFlgの値を設定し(ステップS50)、呼び出し元に戻る。該列の表示領域判定ルーチンの詳細は後述する。
【0095】
次に、図9のフローチャートのステップS22の「Sクリック用列表示切替メソッド」の詳細を、図12及び図13のフローチャートを参照しながら説明する。
【0096】
まず、変数C(列番号カウウンタ)及び変数Cpnoを、共に、“0”に設定する(ステップS51)。
次に、変数CとCscrlの値を比較する(ステップS52)。そして、C<Cscrlであれば、ColmStTbl〔C〕.ShowFlgWを判断し(ステップS53)、ColmStTbl〔C〕.ShowFlgWが“True”であれば、Cpnoの値をColmStTbl〔C〕.Widthの値だけ増加する(ステップS54)。そして、Cの値を“1”インクリメントし(ステップS55)、ステップS52に戻る。
【0097】
このようにして、論理Viewエリア220のスクロール項目描画領域223の右端の座標を変数Cpnoに設定する。
そして、ステップS52で、C≧Cscrl(この場合、C=Cscrl)であると判別すると、行番号カウンタとなる変数Lと、描画用行座標が設定される変数Lpを、共に、“0”に初期設定する(ステップS56)。次に、変数Cに引数Csnoの値を設定すると共に、変数CpにCpnoの値を設定する(ステップS57)。
【0098】
これにより、変数Cpに、これから描画すべきセルの論理Viewエリア220のスクロール項目描画領域223上の描画位置の左座標、つまり、シングルクリックされた列のセルの論理Viewエリア220のスクロール項目描画領域223内の描画位置の左座標が設定される。
【0099】
続いて、ColmStTbl〔C〕.ShowFlgWを判断し(ステップS58)、ColmStTbl〔C〕.ShowFlgWが“True”であれば、「1セル描画」ルーチンを呼び出して、DataTbl〔C,L〕の表示データを、論理Viewエリア220のスクロール項目描画領域223に描画する(ステップS59)。
【0100】
ここで、表は複数のセルから構成されるが、該各セルの表示データは、表示メモリ30(物理Viewエリア210)内に、DataTbl〔i、j〕(iは行番号、jは列番号)という配列データとして格納されている。
【0101】
図14は、ステップS59における列番号C,行番号Lのセルの表示データDataTbl〔C、L〕を、論理Viewエリア220に描画する方法を模式的に示した図である。
【0102】
同図に示すように、表データテーブルの各配列データDataTbl〔C、L〕の論理Viewエリア220上の描画領域は、セル左座標(セルの左枠の列座標を示す描画用列座標)Cpとセル上座標(セルの上枠の行座標を示す描画用行座標)Lp、セル幅ColmStTbl〔C〕.Width、及びセル高さLpitchによって決定される。
【0103】
1セル描画ルーチンは、引数として、Cp、Lp、ColmStTbl〔C〕.Width、Lpitch、及びDataTbl〔C、L〕を受け取り、図14に示すようにして、DataTbl〔C、L〕を、論理Viewエリア220の当該領域に描画する。
【0104】
ステップS59に続いて、Cpの値を、ColmStTbl〔C〕.Widthの値だけ増加する(ステップS60)。そして、Cの値を“1”インクリメントし(ステップS61)、次に、CとCmaxの値を比較し(ステップS62)、C≦Cmaxであれば、ステップS58に戻る。
【0105】
また、ステップS58で“False”であれば、DataTbl〔C、L〕の描画は行わず、ステップS61に進む。
ステップS62で、C>Cmaxと判別すれば、Lpの値をLpitchだけ増加し(ステップS63)、続いて、Lの値(行番号)を“1”インクリメントする(ステップS64)。そして、LとLmax(最終行番号)とを比較し(ステップS65)、L≦Lmaxであれば、ステップS57に戻る。一方、ステップS65でL>Lmaxと判別すれば、呼び出し元に戻る。
【0106】
このようにして、ステップS58〜S62のループ処理により、シングルクリックされた列(列番号Cnoの列)以降の列の論理Viewエリア220のスクロール項目描画領域223に対する描画が、1行単位で行われる。この描画は、第0行(行番号が“0”の行)から、行番号順に行われる。
【0107】
また、ステップS57〜S65のループ処理により、シングルクリックされた列(列番号Cnoの列)以降の列の論理Viewエリア220のスクロール項目描画領域223に対する描画が、全ての行に対して行われる。これにより、シングルクリックによるジャンプスクロール操作が行われた場合、シングルクリックされた列がスクロール領域の左端に表示され、その左端から有効スクロール幅Wscrlの範囲内に、該シングルクリックされた列に後続する列(但し、ColmCtrl.ShowFlgWが“True”に設定されている列)が、連続して表示される。これは、ステップS58の判別により、論理Viewエリア220のスクロール項目描画領域223には、ColmStTbl〔C〕.ShowFlgWが“True”となっている列のセルのみが描画されるからである。
【0108】
尚、列表示切替メソッドが使用する基本情報(Cmax、Lmax、Lpitch)は、表情報テーブル10に、予め、格納されており、表示制御部70は、表情報テーブル10から、これらの基本情報を読みだして、Sクリック用列表示切替メソッドを実行する。
【0109】
このようにして、Sクリック用列表示切替メソッドにより、図5に示す論理Viewエリア220のスクロール項目描画領域223に、シングルクリックされた列以降の表示指定となている列の表示データが描画される。そして、表示装置90に、例えば、図29に示すような画面400が表示される。
【0110】
画面400は、図28に示す初期表示画面300において、列名一覧コントロール301上で「在庫月数」をシングルクリックした場合に表示される画面である。このシングルクリック操作により、画面400に示されているように、「在庫月数」の列が表のスクロール領域の左端に表示されるようなスクロール表示制御が行われる。このように、本実施形態では、列名一覧コントロール301上で、あるスクロール列の列名をシングルクリックすることにより、そのスクロール列が表のスクロール領域の左端に表示されるように制御する。
【0111】
したがって、ユーザは、列名一覧コントロール301上で列名をシングルクリックするだけの簡単な操作で、それまで、画面に表示されていなかった列を即座に表示させたり、表の所望する列や列群を、自分が見やすい位置に表示させたりすることができる。
【0112】
また、本実施形態においては、表の画面表示の変化に応じて、列名一覧コントロール301上のスクロール列の列名に係わる表示形態も変化させる。例えば、初期画面300から画面400に変化した場合には、列名一覧コントロール301において、「売上金」〜「在庫数」までの列名の上下の枠線が“実線”から“破線”に変化し、逆に、「在庫月数」〜「01月」までの列名の上下の枠線が“破線”から“実線”に変化する。このことにより、ユーザは、画面に表示されている左端の列よりも左方の列が存在するか否かを、列名一覧コントロール301の表示により、容易に認識できる。これらの表示制御は、以下に述べる処理によって実行される。
【0113】
図15は、図9のステップS19の「列の表示領域判定」ルーチンの詳細を説明するフローチャートである。
まず、表の基本情報であるWscrl,Cscrl、Cmax、GridCscrlを、レジスタ71〜74から読みだす(ステップS71)。
【0114】
次に、変数CにCscrlの値を代入し、変数Csumを“0”に初期設定する(ステップS72)。これにより、変数Cにスクロール開始列の列番号が設定される。変数Csumは、スクロール領域の列幅の累計を求める変数である。
【0115】
続いて、ColmStTbl〔C〕.ShowFlgSを判断する(ステップS73)。そして、ColmStTbl〔C〕.ShowFlgSが“False”であればステップS78に進むが、“True”であれば、次に、ColmStTbl〔C〕.ShowFlgWを判断する(ステップS74)。
【0116】
ステップS74で、ColmStTbl〔C〕.ShowFlgWが“True”であると判断すると、CsumとColmStTbl〔C〕.Widthの加算結果を、Csumに代入する(ステップS75)。
【0117】
次に、Csum≦Wscrlであるか判断し(ステップS76)、Csum≦Wscrlが“True”であれば、ColmStTbl〔C〕.DispAreaFlgに“True”を設定し(ステップS77)、Csum≦Wscrlが“False”であれば、ColmStTbl〔C〕.DispAreaFlgに“False”を設定する(ステップS78)。
【0118】
続いて、変数Cの値を“1”インクリメントし(ステップS79)、次に、C>Cmaxであるか判断する(ステップS80)。そして、C>Cmaxが“False”であれば、ステップS73に戻る。
【0119】
以上のようにして、ShowFlgSとShowFlgWが、共に、“True”となっているスクロール領域の列について、スクロール対象の開始列から順に、その列幅Widthを累算していく。そして、その累積値Csumが有効スクロール幅Wscrlを越えないか否かを判断基準として、表示範囲内にあるスクロール列を決定する。そして、表示範囲内にあるスクロール列については、その表示状態フラグDispAreaFlgを“True”に設定し、表示範囲外にあるスクロール列については、その表示状態フラグDispAreaFlgを“False”に設定する。
【0120】
ステップS89で、C>Cmaxが“True”であれば、スクロール領域の全ての列について、DispAreaFlgを設定する処理が終了したので、呼び出し元に戻る。
【0121】
この結果、スクロール列の中で、ShowFlgSとShowFlgWが、共に、“True”であるスクロール列のみが,DispAreaFlgが“True”に設定される。
【0122】
図16は、図9のフローチャートのステップS20の列名一覧コントロール表示ルーチンの詳細を示すフローチャートである。
この処理において、まず、変数Cを“0”に初期設定する(ステップS91)。次に、列名一覧コントロール301の左端の枠線を実線で描画する(ステップS92)。
【0123】
続いて、引数をCとして、列名一覧コントロール列単位表示ルーチンを呼び出し、列番号が引数Cの値に等しい列の列名を列名一覧コントロール301に描画する(ステップS93)。続いて、Cの値を“1”インクリメントし(ステップS94)、C>Cmaxであるか判断する(ステップS95)。そして、C>Cmaxが“False”であれば、ステップS93に戻る。
【0124】
以上のようにして、列名一覧コントロール301の描画を行い、ステップS95で、C>Cmaxが“True”、すなわち、列名一覧コントロール301の描画が最終の列名まで終了したと判断すると、ColmStTbl〔Cmax〕.DispAreaFlgを判断し(ステップS96)、ColmStTbl〔Cmax〕.DispAreaFlgか“True”であれば、列名一覧コントロール301の右端の枠線を実線で描画する(ステップS97)。一方、“Falseであれば、列名一覧コントロール301の右端の枠線を点線(破線)で描画する(ステップS98)。そして、ステップS97またはS98の処理終了後、呼び出し元に戻る。
【0125】
図17は、ステップS93の列名一覧コントロール単位表示ルーチンの詳細フローチャートである。
同図のフローチャートにおいて、ステップS101〜S109は表示範囲内の列に関する処理であり、ステップS110〜S117は表示範囲外の列に関する処理である。
【0126】
まず、ColmStTbl〔C〕.DispAreaFlgを判断し(ステップS101)、ColmStTbl〔C〕.DispAreaFlgが“True”であれば、列番号Cの列名の上下の枠線を実線で描画する(ステップS102)。次に、ColmStTbl〔C〕.ShowFlgWを判断し(ステップS103)、ColmStTbl〔C〕.ShowFlgWが“True”であれば、続いて、ColmStTbl〔C〕.SelectAreaFlgを判断する(ステップS104)。
【0127】
そして、ColmStTbl〔C〕.SelectAreaFlgが“True”であれば、列番号Cの列名を背景色を青として黒で描画する(ステップS105)。一方、“False”であれば、列番号Cの列名を背景色を白として黒で描画する(ステップS106)。
【0128】
また、ステップS103で“False”であれば、ColmStTbl〔C〕.SelectAreaFlgを判断し(ステップS107)、ColmStTbl〔C〕.SelectAreaFlgが“True”であれば、列番号Cの列名を背景色を青として白の太字で描画する(ステップS108)。一方、“False”であれば、列番号Cの列名を背景色をグレーとして白の太字で描画する(ステップS109)。
【0129】
以上の処理により、表示範囲内の列であって、かつ表示指定となっている列の列名は、全て、黒で表示されるが、現在、選択状態にあるか否かに応じて、背景が青(選択)と白(非選択)の色で、区別して表示される。また、表示範囲内の列であって、かつ非表示指定となっている列の列名は、全て、白の太字で表示されるが、現在、選択状態にあるか否かに応じて、背景が青(選択)と白(非選択)で、区別して表示される。
【0130】
このようにして、列名一覧コントロール301の表示において、表示範囲内にある列の列名が、現在、表示指定または非表示指定であるか、また、選択されているか非選択であるかの4種類の状態に応じて、4種類の形態で表示される。ステップS105、S106,S108,またはS109の処理終了後、呼び出し元に戻る。
【0131】
また、ステップS101で“False”であれば、列番号Cの列名の上下の枠線を点線で描画する(ステップS110)。次に、ColmStTbl〔C〕.ShowFlgWが“False”であるかを判断し(ステップS111)、ColmStTbl〔C〕.ShowFlgWが“True”であれば、続いて、ColmStTbl〔C〕.SelectAreaFlgを判断する(ステップS112)。
【0132】
そして、ColmStTbl〔C〕.SelectAreaFlgが“True”であれば、列番号Cの列名を背景色を青として黒で描画する(ステップS113)。一方、“False”であれば、列番号Cの列名を背景色をグレーとして黒で描画する(ステップS114)。
【0133】
また、ステップS111でColmStTbl〔C〕.ShowFlgW“False”であれば、ColmStTbl〔C〕.SelectAreaFlgを判断する(ステップS115)。そして、ColmStTbl〔C〕.SelectAreaFlgが“True”であれば、列番号Cの列名を背景色を青として白の太字で描画する(ステップS116)。一方、“False”であれば、列番号Cの列名を背景色をグレーとして白の太字で描画する(ステップS117)。
【0134】
そして、ステップS113、S114、S116、またはS117の処理の後、呼び出し元に戻る。
このようにして、表示範囲外のスクロール列についても、ShowFlgW及びSelectAreaFlgの真偽値に応じて、列名が4種類の形態で表示される。表示範囲外にある、すなわち、現在、表示されていない列の列名は、全て、上下の枠線が点線で表示される。また、表示範囲外の列において、表示指定となっている列の列名は全て黒で表示されるが、現在、選択状態であるか否かに応じて、背景が青(選択)とグレー(非選択)によって、区別されて表示される。また、表示範囲外の列において、非表示指定となっている列の列名は白の太字で表示されるが、現在、選択状態であるか否かに応じて、背景が青(選択)とグレー(非選択)によって、区別されて表示される。また、さらに、本実施形態においては、表示指定であって、かつ、選択状態にない列について、その列が表示範囲内にあるか否かを、背景の色を変化させることにより識別可能にしている。すなわち、列名の背景色が、表示範囲内であれば白で、表示範囲外であればグレーで表示されるようになっている。
【0135】
以上のように、列名一覧コントロール301の表示においては、表示範囲内であるか否かを問わず、現在、選択状態にある列の列名は、青を背景として表示される。したがって、列名一覧コントロール301に表示される列名の背景色により、選択されている列と選択されていない列とを識別できる。また、表示指定となっている列と非表示指定となっている列とは、列名一覧コントロール301に表示される列名の文字色により識別できる。また、表示指定となっており、かつ選択状態となっていない列であっても、その列が表示範囲内の列であるか否かは、列名一覧コントロール301に表示される列名の背景色によって識別できる。
【0136】
尚、上記表示形態は一例にすぎず、その他の表示形態により、各列の状態を識別できるようにすることも可能である。
次に、図10のフローチャートのステップS31の「マウスボタン処理」ルーチンの詳細を、図18のフローチャートを参照しながら説明する。
【0137】
マウスボタン処理ルーチンは、引数として、列名一覧コントロール301上でマウスボタンをダウン操作された列名の列番号を受け取る。そして、まず、既存の選択キャンセルルーチンを呼び出し、全てのColmStTbl〔C〕.SelectAreaFlagを“False”に設定する(ステップS121)。この既存の選択キャンセルルーチンの詳細は後述する。
【0138】
次に、列名一覧選択表示ルーチンを呼び出し、列名一覧コントロール301の表示を、例えば、図7(b)に示すような形態に変化させる処理を実行する。列名一覧選択表示ルーチンを呼び出す際、上記引数として受け取った列番号を、列名一覧選択表示ルーチンに第1及び第2引数として渡す(ステップS122)。この列名一覧選択表示ルーチンの詳細も後述する。
【0139】
続いて、ColmCtrl.Startに、上記引数として受け取った列番号を設定して(ステップS123)、呼び出し元に戻る。
図19は図18のステップS121の既存の選択キャンセルルーチンの詳細を示すフローチャートである。
【0140】
まず、ColmCtrl.Flgを判断する(ステップS131)。そして、ColmCtrl.Flgが“False”であれば、呼び出し元に戻る。一方、“True”であれば、「表示属性テーブルの選択クリア」ルーチンを呼び出し、全ての列について、ColmStTbl〔C〕.SelectAreaFlgを“False”に設定する(ステップS132)。この「表示属性テーブルの選択クリア」ルーチンの詳細は後述する。
【0141】
次に、ColmCtrl.Flgを“False”に設定し(ステップS133)、呼び出し元に戻る。
ここで、ステップS132の「表示属性テーブルの選択クリア」ルーチンの詳細を、図20のフローチャートを参照しながら説明する。
【0142】
まず、変数Cを“0”に初期設定する(ステップS141)。次に、ColmStTbl〔C〕.SelectAreaFlgを“False”に設定し(ステップS142)、続いて、変数Cの値を1だけインクリメントする(ステップS143)。そして、変数CとCmaxの値を比較し(ステップS144)、C>Cmaxであれば呼び出し元に戻るが、C≦CmaxであればステップS142に戻る。
【0143】
このようにして、ColmStTbl〔0〕.SelectAreaFlg〜ColmStTbl〔Cmax〕.SelectAreaFlgを、全て、“False”に設定し、この設定が終了すると、ステップS144でC>Cmaxであると判断されて、呼び出し元に戻る。
【0144】
次に、図10のフローチャートのステップS32の「マウスボタンダウン&マウスムーブ処理」ルーチンの詳細を、図21のフローチャートを参照しながら説明する。
【0145】
「マウスボタンダウン&マウスムーブ処理」ルーチンは、呼び出し元から、現在、マウスボタンがダウンされている状態のときにあって、マウスカーソルが指している列名一覧コントロール301上の列名の列番号を、引数として受け取る。そして、この列番号を第2引数、ColmCtrl.Startを第1引数として、列名一覧選択表示ルーチンを呼び出して、図7(c)に示すような列名一覧コントロール301の表示制御を行う(ステップS151)。
【0146】
図22は、列名一覧選択表示ルーチンの詳細を示すフローチャートである。
まず、上述した「表示属性テーブルの選択クリア」ルーチンを呼び出す(ステップS151)。これにより、全ての列のColmStTbl〔C〕.SelectAreaFlgが“False”に設定される。
【0147】
次に、第1引数であるStartと第2引数であるEndを比較する(ステップS153)。上述したように、StartはColmCtrl.Start(マウスボタンがダウンされた時に、マウスカーソルが指していた列名一覧コントロール301上の列名の列の列番号)に等しく、Endは、現在、マウスカーソルが指している列名一覧コントロール301上の列名の列番号に等しい。
【0148】
続いて、StartとEndを比較する(ステップS152)。そして、Start≦Endであれば、変数C0にStartの値を、変数C1にEndの値を、それぞれ設定する(ステップS153)。一方、Start>Endであれば、変数C0にEndの値を、変数C1にStartの値を、それぞれ設定する(ステップS154)。
【0149】
この処理は、列名一覧コントロール301上でのマウスのドラッグ操作方向として、左方から右方及び右方から左方の両方を考慮しているためである。よって、左方から右方であればステップS153の処理が、右方から左方であればステップS154の処理が実行される。そして、ステップS153またはS154の処理により、列名一覧コントロール301上で列名がドラッグ操作がなされた場合における左端の列名の列の列番号と右端の列名の列の列番号が、それぞれ、C0とC1に設定される。
【0150】
次に、変数CにC0の値を設定する(ステップS155)。続いて、ColmStTbl〔C〕.SelectAreaFlgに“True”を設定し(ステップS156)、変数Cの値を“1”インクリメントする(ステップS157)。
【0151】
そして、CとC1の値を比較し(ステップS158)、C≦C1であれば、ステップS156に戻る。このようにして、ステップS156〜S158のループ処理を、ステップS158でC>C1であると判断するまで繰り返す。そして、ステップS158でC>C1であると判断すると、上述した図16の列名一覧コントロール表示ルーチンを呼び出す(ステップS159)。
【0152】
上述したステップS156〜S158のループ処理により、列名一覧コントロール301上で列名がドラッグ操作された場合、それらの列名の列のColmStTbl〔C〕.SelectAreaFlgのみが“True”に設定される。したがって、ステップS159の処理により、列名一覧コントロール301の表示において、該ドラッグ操作された列名の背景色が青に変化する。また、ドラッグ操作の後に、マウスボタンがアップされた場合には、マウスボタンがダウンされた列名とマウスボタンがアップされた列名、及びそれらの列名の間の列名のの背景色が青に表示される。また、さらに、ドラッグ操作されたものの、マウスボタンがダウンされた列名とマウスボタンがアップされた列名が同一であった場合には、ステップS155〜S158の処理が1回のみ行われ、その列名の背景色のみが青で表示される。
【0153】
次に、図10のフローチャートのステップS33のマウスボタンアップ処理の詳細を、図23のフローチャートを参照しながら説明する。
このマウスボタンアップ処理ルーチンは、引数として、列名一覧コントロール301上でマウスボタンがアップされた時にマウスカーソルが指していた列名の列番号を受け取る。列名一覧コントロール301上で列名がドラッグされた場合には、マウスボタンがドロップ(離された)ときにマウスカーソルが指していた列名の列番号が該引数となる。
【0154】
そして、まず、該列番号とColmCtrl.Startを比較する(ステップS161)。そして、両者が異なれば、ColmCtrl.Endに該列番号を設定し、ColmCtrl.Flgを“True”に設定する(ステップS162)。一方、両者が一致すれば、ColmCtrl.Endに該列番号を設定し、ColmCtrl.Flgに“False”を設定する(ステップS163)。
【0155】
ステップS162の処理は、列名一覧コントロール301上でのマウスのドラッグ操作により複数の列名が指定された場合の処理に該当する。一方、ステップS163の処理は、マウスのドラッグ操作により単一の列名が指定された場合の処理に該当する。
【0156】
ステップS162またはS163の処理を実行した場合、上述した図22の列名一覧選択表示ルーチンを呼び出し(ステップS164)、呼び出し元に戻る。このステップS164の処理により、ユーザがマウスのドラッグ操作により、列名一覧コントロール301上で選択した列名が最終的に決定され、それらの列名が青の背景色で表示される。
【0157】
次に、図10のフローチャートのステップS34のマウスWクリック処理の詳細を、図24乃至図27のフローチャートを参照しながら説明する。
マウスWクリック処理ルーチンは、引数として、列名一覧コントロール301上でWクリックされた列名の列の列番号を受け取る。そして、まず、ColmCtrl.Flgを判断し(ステップS201)、ColmCtrl.Flgが“False”であればステップS211へ、“True”であればステップS209に進む。
【0158】
ColmCtrl.Flgが“False”であることは、列名一覧コントロール301上で表示/非表示指定として選択された列が一個(単一選択)であることを示している(図23のフローチャートのステップS163参照)。一方、ColmCtrl.Flgが“True”であることは、列名一覧コントロール301上で表示/非表示指定として選択された列が複数であること(複数選択中)を示している(図23のフローチャートのステップS162参照)。
【0159】
尚、本実施形態では、列名一覧コントロール301上でドラッグ操作無しに、直接、ある列名がWクリックされた場合、ColmCtrl.StartとColmCtrl.Endにその列名の列番号が設定され、さらに、ColmCtrl.Flagが“False”に設定されて、ステップS31〜S33の処理をスキップして、ステップS34のマウスWクリック処理ルーチンが実行されるものとする。よって、本実施形態では、列名一覧コントロール301上で、単一の列名を、直接、Wクリックすることによっても、単一の列を選択し、その列の表示/非表示を指定することが可能である。
【0160】
単一選択の場合、上述したように列名一覧コントロール301上で「表示」から「非表示」、または「非表示」から「表示」に変化させる単一の列がWクリックされることになる。ステップS201で“False”であると判断されると、変数Cnoに引数の列番号を設定する(ステップS202)。次に、ColmStTbl〔C〕.ShowFlgWを判断し(ステップS203)、ColmStTbl〔C〕.ShowFlgWが“True”であれば、ColmStTbl〔C〕.ShowFlgWを“False”に設定する(ステップS204)。一方、“False”であれば、ColmStTbl〔C〕.ShowFlgWを“True”に設定する(ステップS205)。
【0161】
このようにして、列名一覧コントロール301上で、列名がWクリックされた列のColmStTbl〔C〕.ShowFlgWの真偽値を反転させる。
続いて、表示対象の表オブジェクトに対して、Cnoを引数として、Wクリック用列表示切替メソッドを呼び出す(ステップS206)。このWクリック用列表示切替メソッドの呼び出しにより、論理Viewエリア220のスクロール項目描画領域223の更新が行われる(上記Wクリック操作により列名が指定されたスクロール列が表示指定から非表示指定に、または非表示指定から表示指定に変化し、これに伴い表のスクロール領域に表示される列も変化する)。このWクリック用列表示切替メソッドの処理の詳細は、後述する。
【0162】
次に、上述した列の表示領域判定ルーチンを呼び出し(ステップS207)、続いて、同じく、上述した列名一覧コントロール表示ルーチンを呼び出して(ステップS208)、呼び出し元に戻る。上記ステップS207、S208の処理により、列名一覧コントロール301の表示形態が変化する。すなわち、列名一覧コントロール301上において、Wクリックにより、ある列の指定が「表示」から「非表示」に変更された場合は、その列の列名は黒文字から白文字に変化する。逆に、「非表示」から「表示」に変更された場合は、その列の列名は白文字から黒文字に変化する。
【0163】
このように、本実施形態では、列名一覧コントロール301上である列の「列名」をWクリックすることにより、その列を「表示」から「非表示」、または「非表示」から「表示」に、簡単に変化させることができる。
【0164】
ステップS201で“True”と判断した場合には(列名一覧コントロール301上で複数の列が選択されたと判断した場合は)、受け取った引数を、そのまま引数として、「列名一覧コントロールWクリック処理」ルーチンを呼び出し(ステップS209)、呼び出し元に戻る。この列名一覧コントロールWクリック処理ルーチンの詳細は後述する。
【0165】
次に、ステップS206で呼び出す「Wクリック用列表示切替メソッド」の詳細を、図25及び図26のフローチャートを参照しながら説明する。
まず、列番号カウウンタとなる変数C,及び変数Cpnoを、共に、“0”に初期設定する(ステップS221)。
【0166】
次に、変数Cと引数Cnoの値を比較する(ステップS222)。そして、C<Cnoであれば、ColmStTbl〔C〕.ShowFlgWまたはColmStTbl〔C〕.ShowFlgSが“False”であるか判断し(ステS223)、ColmStTbl〔C〕.ShowFlgWとColmStTbl〔C〕.ShowFlgSが、共に、“True”であれば、Cpnoの値をColmStTbl〔C〕.Widthの値だけ増加する(ステップS224)。そして、Cの値を“1”インクリメントし(ステップS225)、ステップS222に戻る。一方、ステップS223でColmStTbl〔C〕.ShowFlgWまたはColmStTbl〔C〕.ShowFlgSが“False”であれば、ステップS225に進む。
【0167】
このようにして、「表の先頭列」から「Wクリックされた列の直前までの列」の中で、“表示指定”(ColmStTbl〔C〕.ShowFlgW=True)となっており、かつ、ジャンプスクロール操作により非表示となっていない列の列幅の合計を変数Cpnoに設定する。これにより、Cpnoには、列名一覧コントロール301上で列名が選択された左端の列(単一選択の場合は、Wクリックされた列)の表示データが描画されるべき論理Viewエリア220のスクロール項目描画領域223内の描画位置の座標が設定される。
【0168】
尚、本実施形態では、ジャンプスクロール操作とWクリック操作を統合的に処理しているため、このような処理をおこなっているが、ステップS223の判断は、あくまでも、一つの実施例であり、他の実施例にしてもよい。本実施形態では、ステップS226以降の処理により、ジャンプスクロール操作により画面から消えた列の中に、表示指定の列がある場合、Wクリック操作により、それらの列の再表示を可能にしている。すなわち、ジャンプスクロール操作により消えた列の中で、Wクリック操作により選択された列以降の(後述するWクリック操作により複数の列が選択された場合は、選択された左端の列以降)の表示指定となっている列(ColmStTbl〔C〕.ShowFlgWが“True”となっている列)は、再表示されるようになる。
【0169】
ステップS222で、C≧Cnoであると判別すると、行番号カウンタとなる変数Lと、描画用行座標が設定される変数Lpを、共に、“0”に初期設定する(ステップS226)。次に、変数Cに引数Cnoの値を設定すると共に、変数Cpに変数Cpnoの値(描画用列座標)を設定する(ステップS227)。
【0170】
これにより、変数Cpに、これから描画すべきセル(上記選択された左端の列のセル)の論理Viewエリア220のスクロール項目描画領域223内の描画用列座標が設定される。
【0171】
続いて、ColmStTbl〔C〕.ShowFlgWを判断し(ステップS228)、ColmStTbl〔C〕.ShowFlgWが“True”であれば、「1セル描画」ルーチンを呼び出して、データテーブルDataTbl〔C,L〕の表示データを、論理Viewエリア220のスクロール項目描画領域223に描画する(ステップS229)。この「1セル描画」ルーチンは、上述した図13のステップS59で呼び出されるルーチンと同様のものである。
【0172】
ステップS229に続いて、Cpの値を、ColmStTbl〔C〕.Widthの値だけ増加する(ステップS230)。そして、Cの値を“1”インクリメントし(ステップS231)、次に、CとCmaxの値を比較し(ステップS232)、C≦Cmaxであれば、ステップS228に戻る。
【0173】
また、ステップS228で“False”であれば、DataTbl〔C、L〕の描画は行わず、ステップS231に進む。
ステップS232で、C>Cmaxと判別すれば、Lpの値をLpitchだけ増加し(ステップS233)、続いて、Lの値(行番号)を“1”インクリメントする(ステップS234)。そして、LとLmax(最終行番号)とを比較し(ステップS235)、L≦Lmaxであれば、ステップS227に戻る。
【0174】
このようにして、ステップS228〜S232のループ処理により、列名一覧コントロール301上で列名がWクリックされた列(列番号Cnoの列)以降の表示指定となっている列の論理Viewエリア220のスクロール項目描画領域223に対する描画が、1行単位で行われる。この描画は、第0行(行番号が“0”の行)から、行番号順に行われる。このように、ステップS228の判別により、論理Viewエリア220のスクロール項目描画領域223には、“表示指定”となっている列のセルのみが描画される。
【0175】
また、ステップS227〜S235のループ処理により、上記Wクリックされた列(列番号Cnoの列)以降の表示指定となっている列の論理Viewエリア220のスクロール項目描画領域223に対する描画が、全ての行に対して行われる。
【0176】
尚、Wクリック用列表示切替メソッドが使用する基本情報(Cmax、Lmax、Lpitch)は、表情報テーブル10に、予め、格納されおり、表示制御部70は、表情報テーブル10から、これらの基本情報を読みだして、Wクリック用列表示切替メソッドを実行する。
【0177】
図27は、図26のフローチャートのステップS209の列名一覧コントロールWクリック処理ルーチンの詳細を示すフローチャートである。
この列名一覧コントロールWクリック処理ルーチンは、列名一覧コントロール301上で複数の列名が選択された場合の処理を行い、引数として、列名一覧コントロール301上で列名がWクリックされた列の列番号を受け取る。
【0178】
このルーチンは、まず、ColmCtrl.StartとColmCtrl.Endの値を比較する(ステップS241)。この結果、ColmCtrl.Start≦ColmCtrl.Endであれば、変数C0にColmCtrl.Startの値を、変数C1にColmCtrl.Endの値を設定する(ステップS242)。一方、ColmCtrl.Start>ColmCtrl.Endであれば、変数C0にColmCtrl.Endの値を、変数C1にColmCtrl.Startの値を設定する(ステップS243)。
【0179】
ステップS241〜S243の処理は、列名一覧コントロール301上のドラッグ操作の方向が左から右、もしくは右から左である場合を想定した処理であり、ステップS242またはS243の処理により、C0に列名一覧コントロール301上でのドラッグ&ドロップ操作により選択された左端の列の列番号が、C1に列名一覧コントロール301上でのドラッグ操作&ドロップ操作により選択された右端の列番号が設定される(C0<C1となる)。
【0180】
次に、引数として受け取った「列番号」がC0以上で、かつC1以下である条件を満足するか判断する(ステップS244)。そして、その判断結果が“True”(該条件を満足する)であればステップS245に進み、“False”(該条件を満足しない)であればステップS254に進む。このステップS244の処理は、列名一覧コントロール301上でWクリックされた列名が選択された列名であるかを判断する処理である。この処理により、列名一覧コントロール301上で選択された列名以外の列名がWクリックされた場合、その操作は無効とされる。
【0181】
ステップS245では、変数CにC0の値を代入し(ステップS245)、続いて、ColmStTbl〔C〕.ShowFlgWを判断する(ステップS246)。そして、ColmStTbl〔C〕.ShowFlgWが“True”であればColmStTbl〔C〕.ShowFlgWを“False”に設定する(ステップS247)。一方、ColmStTbl〔C〕.ShowFlgWが“False”であれば、ColmStTbl〔C〕.ShowFlgWを“True”に設定する(ステップS248)。
【0182】
このステップS247とS248の処理は、列名一覧コントロール301上で選択された列のColmStTbl〔C〕.ShowFlgWの真偽値を反転させる処理である。この反転処理により、該選択列の表示指定が“表示”から“非表示”に、または“非表示”から“表示”に変化する。
【0183】
ステップS247またはステップS248の処理の後、Cの値を“1”インクリメントし(ステップS249)、続いて、CとC1の値を比較する(ステップS250)。そして、C≦C1であればステップS246に戻る。
【0184】
このようにして、ステップS246〜S250のループ処理を繰り返し、選択された全ての列のColmStTbl〔C〕.ShowFlgWの真偽値を反転させる。
【0185】
上記反転処理等を終了すると、ステップS250でC>C1であると判断すると、次に、C0とGridCscrlを比較する(ステップS251)。そして、C0≧GridCscrlであればCnoにC0の値を設定するが(ステップS252)、C0<GridCscrlであればCnoにGridCscrlの値を設定する(ステップS253)。
【0186】
これにより、論理Viewエリア220のスクロール項目描画領域223の左端に描画する列の列番号がCnoに設定される。すなわち、列名一覧コントロール301上で選択された左端の列が、表示範囲内の列であった場合にはCnoにその列の列番号が設定されるが、表示範囲外の列であった場合にはCnoにGridCscrl(ジャンプスクロール操作により指定された、現在、左端に表示されている列の列番号)が設定される。尚、これは、あくまでも、一実施例であり、別の実施例とすることも可能である。
【0187】
次に、Cnoを引数として、上述した図25及び図26のWクリック用列表示切替えメソッドを呼び出す(ステップS254)。これにより、Wクリック操作により選択された左端の列以降の列であって、表示範囲内にある表示指定となっている列(ColmStTbl〔C〕.ShowFlgWが“True”である列)の表示データのみが、論理Viewエリア220のスクロール項目描画領域223に描画される。そして、Wクリック操作により選択された左端の列以降の列であって、表示範囲内にある列であっても、非表示指定となっている列(ColmStTbl〔C〕.ShowFlgWが“False”である列)の表示データは描画されない。これにより、表示範囲内にあった列の中で、表示指定から非表示指定となった列は画面から消え、逆に、非表示指定から表示指定となった列は再表示される。この場合、列は左詰めで表示される。
【0188】
また、表示/非表示指定の変更がなされた列が表示範囲内よりも左方の列のみであった場合には、表の表示は変化せず、列名一覧コントロール301の表示形態が、変更結果に応じて変化するのみである(表示/非表示の指定が変更された列の列名の表示色が変化するのみである)。
【0189】
ステップS254の次に、上述した図15の列の表示領域判定ルーチンを呼び出す(ステップS255)。これにより、表のスクロール領域の各列のColmStTbl〔C〕.DispAreaFlgが設定される。すなわち、列番号の小さいスクロール列から順に、ColmStTbl〔C〕.ShowFlgW及びColmStTbl〔C〕.ShowFlgSが調べられ、表示範囲内にあるスクロール列のColmStTbl〔C〕.DispAreaFlgが“True”に設定される。すなわち、新たな、表示範囲が設定される。
【0190】
続いて、上述した図19の既存の選択キャンセルルーチンを呼び出す(ステップS256)。これにより、表の全ての列のColmStTbl〔C〕.SelectAreaFlagが“False”に設定される。すなわち、現在、選択中の列がキャンセルされる。
【0191】
次に、上述した図16の列名一覧コントロール表示ルーチンを呼び出す(ステップS257)。これにより、例えば、図30に示すような画面500が表示される。画面500は、図28の表の初期画面300において、図7に示す操作と同様なマウスのドラッグ&ドロップ操作とWクリックで、「粗利」と「粗率」を「非表示」に設定した場合に表示される画面500である。
【0192】
この場合、図30に示すように、画面500においては、初期画面300の表の表示から「粗利」と「粗率」の列の表示が消え、「仕入数」の列の後には、「在庫数」以降の列が表示される。このような表の表示の変化に応じて、列名一覧コントロール301の表示形態も変化している。すなわち、「粗利」と「粗率」の表示が黒文字から白文字に変化している。また、画面500においては、表のスクロール領域に「売上金」から「03月」までの列が表示されるようになり表示範囲が変化したたので、列名一覧コントロール301の上枠と下枠の実線表示が「商品名」から「03月」の列名まで延長して表示されるようになっている。
【0193】
したがって、ユーザは画面500の列名一覧コントロール301の表示を閲覧することにより、画面上では表示されていないが、「仕入数」と「在庫数」の両列の間に、実際は、「粗利」と「粗率」が存在することを列名の表示形態から認識することができる。また、枠線の表示形態から、「02月」と「01月」が画面500上では部分表示または未表示となっていることを、即座に、知ることができる。
【0194】
画面500において、初期画面300に列名一覧コントロール301上で「粗利」と「粗率」の列名に対し、再び、マウスのドラッグ操作とWクリック操作を行うことにより、「粗利」と「粗率」の列は再び「表示」指定となり、表示装置90の表示は画面500から画面300に切り替わる。
【0195】
このように、本実施形態では、列名一覧コントロール301上で、マウスのドラッグ操作とWクリック操作を行うことにより、一度に、複数の連続する列を「表示」から「非表示」に、または「非表示」から「表示」に変化させることができる。また、列名一覧コントロール301上で単一の列名をドラッグ操作せずに直接Wクリックすることにより、単一の列の表示/非表示指定が可能である。
【0196】
図31は、上記実施形態を実現するコンピュータ600のハードウェア構成を示すブロック図である。
該コンピュータ600は、CPU601と、該CPU600とバス609によって接続されたROM602,RAM603,外部記憶装置604、記録媒体駆動装置605、入出力装置607、及び通信インターフェース608から構成される。
【0197】
CPU601は、バス609を介して上記各構成要素602〜608にアクセス可能であり、システム全体を制御する。本発明の実施形態のアルゴリズムを実現するプログラムは、例えば、ROM602、外部記憶装置604、または可搬記録媒体606に格納される。
【0198】
ROM602や外部記憶装置604に格納された上記プログラムは、RAM603上に、CPU601が実行可能な形式に展開されて、CPU601により実行される。また、可搬記録媒体606に格納されている上記プログラムは、該可搬記録媒体606が記録媒体駆動装置605に装着されることにより、記録媒体駆動装置605により読み取られ、RAM603上に、CPU601が実行可能な形式に展開されて、CPU601により実行される。
【0199】
また、上記プログラムは、コンピュータ600とネットワーク700を介して接続された情報提供者800が保有していてもよく、この場合には、通信インターフェース700が、ネットワーク400を介して、情報提供者800が保有していている上記プログラムを、外部記憶装置604にダウンロードする。そして、この外部記憶装置604にダウンロードされた上記プログラムは、上述した方法により、CPU601により実行される。
【0200】
入出力装置607は、図1の入力装置90及び表示装置80に該当し、ユーザが入出力装置607の表示画面に表を初期表示させるためのコマンドの入力や、画面表示されている表の列名一覧コントロール301に対するマウス操作等のために利用される。また、該マウス操作等に応じた表の表示を行う。
【0201】
外部記憶装置604は、図1の外部記憶装置110に該当する。RAM603は、図1の表情報テーブル10、表示メモリ30、表示属性テーブル40、列幅情報テーブル50、及び列名一覧データバッファ60等に該当する。RAM603には、レジスタ71〜74やCPU601のワーク領域等が確保される。
【0202】
また、情報提供者800が、上記プログラムを実行可能なコンピュータ、及び表情報テーブル10を格納している外部記憶装置を備えている場合には、ユーザが入出力装置607から、上記プログラムを遠隔実行するためのコマンドを入力することにより、通信インターフェース608及びネットワーク700を介して、上記プログラムを、情報提供者800が保有するコンピュータで遠隔実行させることも可能である。この場合、情報提供者800が保有するコンピュータで得られた表や列名一覧コントロール301の表示データを、コンピュータ600が、ネットワーク700及び通信インターフェース608を介して受信することが可能であり、該受信された表示データは入出力装置607から、ユーザが視覚可能な形式で表示される。
【0203】
尚、可搬記録媒体606は、フロッピーディスク、CD−ROM,CD−RAM、各種規格のDVD,光磁気記録方式もしくは相変化型の光ディスク、ICカード等である。また、外部記憶装置604は、ハードディスクやディスクアレイ等である。また、入出力装置607は、キーボードやマウス等のポインティング・デバイス、及びCRTディスプレイ、もしくは液晶ディスプレイ、プラズマ・ディスプレイ、有機EL(Electro Luminesence)ディスプレイ等の薄型ディスプレイである。
【0204】
また、ネットワーク700は、LAN、MAN、WAN、もしくはインターネット等である。
上記実施形態では、操作対象を列としているが、本実施形態を応用して、行の表示抑制や行のジャンプスクロール操作を実現するように構成することも可能である。この場合、列名一覧コントロール301に対応するものとして、行名一覧コントロールを表示する構成とする。尚、括り表などのように行数が多くなる階層構造の表においては、大項目、中項目などのような上位階層の項目については全項目名を表示させ、小項目などのような下位階層の項目については代表項目名(例えば、先頭の項目名など)のみを行名一覧コントロールに表示させるようにしてもよい。
【0205】
また、本実施形態では列名一覧コントロール301を一行に表示するようにしているが表の列数に応じて、適宜、列名一覧コントロール301の行数を変えるようにしてもよい。尚、この場合においても、列名の表示順序は、表の列順に対応させるのが好ましい。また、複数の列を選択する場合、連続する複数の列ではなく、離散する複数の列名を選択するように構成してもよい。また、本発明は、ファイルのディレクトリなどのような一画面には収まらない木構造表示の参照にも適用可能である。この場合、例えば、各階層名の一覧を表示させるようにし、該階層名を選択するようにする。
【0206】
また、本実施形態では列の非表示指定により、表の表示形式を変更できるので、画面上で、元の表を加工して、多様な形式の表を作成することが可能である。したがって、この加工により得られた表を保存できるような構成とすることも可能である。上記のような各種変形例の実装は、当業者であれば、本実施形態から容易に着想できるものである。
【0207】
【発明の効果】
請求項1に記載の発明によれば、複数列から構成される表データを表示する際、前記表データの表示と並列的に同一画面上に前記表データの全ての列名を一覧表示することにより、表示画面上に表示されていない列名を前記表データと同一画面上の列名一覧上で確認することができる。すなわち列名一覧の表示を見るだけで表の全体の構成を直感的に把握することができる。そして画面上に前記表データとして表示されている列名も表示されていない列名も全て列名一覧に表示されているので、前記画面上に表示されていない列も含めてスクロールする列の指定が可能となり、スクロールする列の確認及び変更が確実且つ迅速にできる。また、スクロール表示の結果、表データの列が前記画面上に全て表示されたか否かを前記表データと同一画面上の列名一覧上で直感的に確認することができる。
請求項2に記載の発明によれば、複数列から構成される表データを表示する際、前記表データの表示と並列的に同一画面上に前記表データの全ての列名を、表示指定となっている列と非表示指定となっている列とが識別可能となるような形態で横方向に一覧表示することにより、画面上に表示されていない列名を前記表データと同一画面上の列名一覧上で直感的に確認することができる。すなわち列名一覧を見るだけで表データの全体の構成と、表データを構成する各列が表示されているか否かを、表示形態の違いにより直感的に把握することができる。また、列名一覧上で1または複数の列名を指定することにより、指定された列名について前記表データの列の表示/非表示の状態を変更できるので、ユーザは、簡易かつスピーディーな操作で、前記表データの列表示の状態を思いのままに制御することができる。
【図面の簡単な説明】
【図1】本発明の実施形態のシステムの全体構成を示すブロック図である。
【図2】表示属性テーブルのデータ構造を示す図である。
【図3】列幅情報テーブルのデータ構造を示す図である。
【図4】列名一覧データバッファのデータ構造を示す図である。
【図5】物理Viewエリアと論理Viewエリアを用いた表の描画方法を示す概念図図である。
【図6】本実施形態の全体動作を説明するフローチャートである。
【図7】」列名一覧コントロール上で列名を複数選択し、それらの列名の列の表示/非表示を指定する操作方法を説明する図である。
【図8】表示範囲外の列の表示を抑制した場合の、列名一覧コントロールの表示形態を示す図である。
【図9】ジャンプスクロール処理を説明するフローチャートである。
【図10】列の表示/非表示処理を説明するフローチャートである。
【図11】(a)は表示属性テーブル全体の初期化処理を説明するフローチャートであり、(b)は各列の表示属性テーブルのデータ構造を示す図である。
【図12】Sクリック用列表示切替メソッドを説明するフローチャート(その1)である。
【図13】Sクリック用列表示切替メソッドを説明するフローチャート(その2)である。
【図14】1セル描画を説明する図である。
【図15】列の表示領域判定ルーチンを説明するフローチャートである。
【図16】列名一覧コントロール表示ルーチンを説明するフローチャートである。
【図17】列名一覧コントロール列単位表示ルーチンを説明するフローチャートである。
【図18】マウスボタン処理ルーチンを説明するフローチャートである。
【図19】既存の選択キャンセルルーチンを説明するフローチャートである。
【図20】表示属性テーブルの選択クリアルーチンを説明するフローチャートである。
【図21】マウスボタン&マウスムーブ処理ルーチンを説明するフローチャートである。
【図22】列名一覧選択表示ルーチンを説明するフローチャートである。
【図23】マウスボタンアップ処理ルーチンを説明するフローチャートである。
【図24】マウスWクリック処理ルーチンを説明するフローチャートである。
【図25】Wクリック用列表示切替メソッドを説明するフローチャート(その1)である。
【図26】Wクリック用列表示切替メソッドを説明するフローチャート(その2)である。
【図27】列名一覧コントロールWクリック処理ルーチンを説明するフローチャートである。
【図28】初期画面を示す図である。
【図29】図28の初期画面において、列名一覧コントロール上で「在庫月数」を指定してジャンプスクロール操作を行った場合に表示される画面を示す図である。
【図30】図28の初期画面において、列名一覧コントロール上で「粗利」と「粗率」を選択してWクリック操作を行った場合に表示される画面を示す図である。
【図31】本発明の実施形態を実現するコンピュータのハードウェア構成を示すブロック図である。
【図32】従来の括り表の表示形態を示す図である。
【符号の説明】
10 表情報テーブル
11 表データ記憶部
13 表の行数記憶部
15 表の列数記憶部
20 表データ生成部
30 表示メモリ
31 列見出し部バッファ
32 データ行部バッファ
40 表示属性テーブル40
50 列幅情報テーブル
60 列名一覧データバッファ
70 表示制御部
71 表の最終列番号設定レジスタ
72 有効スクロール幅レジスタ
73 スクロール開始列番号設定レジスタ
74 現在スクロール領域最左列番号設定レジスタ
80 表示装置
90 入力装置
100 スクロール制御部
101A、101B、101C 列名一覧表示
103U 上行スクロールボタン
103D 下行スクロールボタン
105L 左列スクロールボタン
105R 右列スクロールボタン
111 現在表示先頭行カウンタ
113 固定部
115 スクロール部
210 物理Viewエリア
211 固定項目描画領域
211D 表示領域
213 スクロール項目描画領域
213D 表示領域
220 論理Viewエリア
221 固定項目描画領域
223 スクロール項目描画領域
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a table display control device, a table display control method, and a storage medium storing a table display control program.
[0002]
[Prior art]
Scrolling is an indispensable function for displaying software such as editors, word processors, and spreadsheet software. Scrolling is a function that moves the display screen up, down, left, and right to display the rest when data cannot be displayed on one screen of the display. That is, when the text is a plurality of pages in an editor or word processor, or in the case of a spreadsheet software, when the “worksheet” is composed of a plurality of rows and a plurality of columns, the user can perform a desired scroll operation. You can browse rows and desired columns.
[0003]
The scroll function is also used to display a form such as an accounting operation. As the form, a “bundling table” having a hierarchical structure as shown in FIG. 32 is known. This figure is a diagram showing a “product sales record table” which is an example of the table. In the case of merchandise, one merchandise is classified into a plurality of categories, and each category is expressed in a hierarchical structure such that each category is classified into a plurality of actually sold merchandise. A summary table represents such a hierarchical structure in a tabular form.
[0004]
The product sales record table 200 shown in the figure is divided into a fixed area 210 that is an area not subject to scroll operations and a scroll area 220 that is an area subject to scroll operations, and can be scrolled only in the scroll area 220. ing. That is, the fixed area 210 includes items related to products expressed in a hierarchical structure (product items such as “calculator”, “category item items” such as “DIARY”, and product identification numbers such as “0112123 SF-4400” and the like. The scroll area 220 includes various attribute data (“sales amount”, “number of sales”, “number of purchases”, “gross profit”, “gross ratio” of each data item in each row of the fixed area. , “Inventory quantity”, “Inventory month”,...)).
[0005]
In the display of a table such as a form as shown in FIG. 32, it is often impossible to display the entire table on one screen due to restrictions on the display screen size. Therefore, an operation for displaying a desired row or column in the scroll area 220 is required.
[0006]
As an operation as described above, conventionally, a method of “suppressing” and “suppressing suppression (resuming display)” the display output of an arbitrary column of a table is known. Such “display suppression” and “display resumption” are conventionally designated by the following operations.
[0007]
{Circle around (1)} First, select the column you want to suppress (hide) from the table, and then specify the “Hide” item from the menu. Also, when canceling display suppression and “resuming display” for a hidden column, first specify both sides (columns at both ends) that are suppressed (hidden), then Specify the "Redisplay" item in the menu.
[0008]
(2) Using the “column display” dialog box effective for the entire table, batch display / non-display of each column is designated. In this case, a check box for displaying or hiding is checked for each column in the dialog box.
[0009]
[Problems to be solved by the invention]
However, the methods (1) and (2) have the following problems. First, in the case of the method {circle around (1)}, there is a problem that an operation of releasing suppression of a column whose display is suppressed is not intuitive for the user and is difficult to understand. In addition, in order to change the display state of the table outside the display range of the current screen, it is necessary to perform an operation such as scrolling so that the corresponding column is displayed in advance. was there.
[0010]
In the method (2), since another window such as a dialog box is used, there is a problem that the number of operation procedures for designation increases and the operation is troublesome. In addition, when display / non-display is specified for a plurality of columns, there is a problem that it is not possible to confirm whether the table can be displayed as specified until the “OK” button in the dialog box is operated.
[0011]
In the conventional table display, scrolling is sequentially performed in units of one column. For this reason, for example, when a column that is not displayed on the screen is to be displayed by scrolling, it takes time to display the column, and how much scrolling should be performed is not actually scrolled. It was inconvenient to know.
[0012]
The object of the present invention is to enable real-time confirmation while quickly specifying whether to display / hide table columns, and to easily specify display / non-display for columns that are not displayed on the current screen. Is to be able to do it. Furthermore, it is to realize scrolling so that a desired column can be immediately displayed at a predetermined position.
[0014]
[Means for Solving the Problems]
The table display control apparatus according to claim 1 of the present invention is a table data storage unit that stores a table composed of a plurality of columns, each column having a column name, as table data; Column name extraction means for extracting all column names and storing the column names; and display means for displaying all the extracted column names in a column name list in parallel with the table data on the same screen; A scroll column designating unit for designating a scroll column of the table data from the displayed column name list, and the table data of the specified scroll column among the table data at a predetermined position on the screen. Scroll control means for controlling the display from the display means, display means for determining whether or not all the columns of the table data set for scroll display are displayed on the screen, and the determination means According to Result is characterized in that and a column name list control means for displaying the column name list is controlled so as to be distinguishable forms to said display means. This predetermined column position is, for example, the left end of the scroll area of the table. Further, the display means displays a column name list so that, for example, displayed columns and undisplayed columns can be identified.
[0017]
According to a second aspect of the present invention, there is provided a table display control device, a table data storage means for storing a table composed of a plurality of columns, each column having a column name, as table data; Column name extraction means for extracting and storing all column names and setting information for setting a display or non-display state for each column name, and all the extracted column names based on the setting information Display means for displaying a column name list in parallel with the table data in a form in which display or non-display can be identified for each column and displaying the column name in the horizontal direction on the same screen as the table data. In addition, display column designation means for selecting one or a plurality of column names from the column name list and designating the display or non-display state for each column, and the column names according to the designation of the display column designation means The column that sets the display or non-display state for each column in the list Column display control means for updating the setting information of the extraction means and controlling the display means to display the data of the columns whose display state is set among the table data based on the setting information. It is characterized by that.
[0018]
The display means displays, for example, a column name list on the same screen in parallel with the table data in a form in which display or non-display can be identified for each column based on the setting information.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a system configuration of an information processing apparatus including a table display control apparatus according to an embodiment of the present invention.
[0021]
In the figure, the table information table 10 includes a table data storage unit 11, a table row number storage unit 13, and a table column number storage unit 15.
The table data storage unit 11 is a memory for storing data of a binding table having a hierarchical structure (hereinafter sometimes simply referred to as a table). The table row number storage unit 13 is a memory for storing the total number of rows in the table. The table column number storage unit 15 is a memory for storing the total number of columns in the above table.
[0022]
Based on the information stored in the table information table 10, the table data generation unit 20 generates table data (column header data, item row data, etc.) necessary for displaying the above summary table. Write in the display memory 30.
[0023]
The display memory 30 includes a column header buffer 31 and a data row buffer 32. The column header data and the item row data generated by the table data generator 20 are written in the column header buffer 31 and the data row buffer 32, respectively.
[0024]
The display attribute table 40 is a memory that stores attribute information of each column of the above-described binding table. The attribute information includes “column name”, “column width”, “column display flag W”, “column display flag S”, “display state flag”, and “selected state flag”.
[0025]
The column name is the name of each column in the above table. The column width is the width of each column in the above table. The column display flag W is a flag indicating display / non-display designation of each column of the above-mentioned table selected on the column name list control described later. The column whose column display flag W is “display designation” is displayed, and the column “non-display designation” is not displayed (display suppression). The column display flag S is a flag indicating the display / non-display state of each column of the above-mentioned table that is displayed or hidden after a jump scroll operation described later. A column whose column display flag S is “display” is displayed, and a column “non-display” is not displayed.
[0026]
The display status flag is a flag indicating whether each column of the above-mentioned table is currently within the display screen (within the display range) or outside the display screen (out of the display range). Here, the columns within the display range indicate the leftmost column and the rightmost column that are completely displayed on the screen of the display device 90, and the columns existing between these columns.
[0027]
The selection state flag is a flag indicating whether each column of the above-mentioned table is currently selected or not selected. As will be described later, in the present embodiment, a plurality of columns to be displayed or hidden can be selected by dragging the mouse on the column name list control, and then any one of the plurality of columns is double-clicked ( By clicking (W), the plurality of columns can be displayed or hidden. The selection state flag is a flag for storing whether each column is selected (selected) or not selected during the selection operation.
[0028]
Each column constituting the bundling table is always divided into a fixed column (fixed item column) to be displayed and a scrollable column (scroll column to display data). The scroll column is divided into a display column displayed on the screen and a non-display column not displayed on the screen. The display / non-display of the scroll column is controlled by a column display flag W and a column display flag S as described later. In the table, an area composed of fixed columns is called a fixed display area (or fixed item display area), and an area composed of scroll columns is called a scroll area.
[0029]
The column width information table 50 is a table for storing “start point X coordinate” and “column width (X coordinate width)” on the screen for each column of the above-described table. The X axis is an axis parallel to the horizontal direction of the screen.
[0030]
The column name list data buffer 60 is a buffer for storing list data of column names displayed in a list on the column name list control displayed on the screen.
The display control unit 70 refers to the column name list data buffer 60 and causes the column name list control to be displayed below the screen of the display device 80. Further, the table data display control unit 70 accesses the display memory 30 to read out the column header data of the above-mentioned binding table from the column header buffer 31 and corresponding display data of the item row data of the above-mentioned binding table from the data row buffer 32. And a summary table is displayed on the screen of the display device 80 based on these data.
[0031]
The display control unit 70 includes a register 71 in which the column number of the last column of the scroll table in the above table (the last column number in the table) is set, and a register 72 in which the “effective scroll width” in the above table is set. , A register 73 in which the column number of the leftmost column to be scrolled (scroll start column number) in the above table is set, and the column number of the column displayed at the left end of the scroll region (current scroll region left end column number) is set The register 74 is provided.
[0032]
As will be described later, the display control unit 70 performs display control of the binding table based on the basic information set in the registers 71 to 74.
In the present embodiment, as shown in FIG. 1, for the “table last column number”, “effective scroll width”, “scroll start column number”, and “scroll start column number”, “ Variable names of “Cmax”, “Wscr1”, “Cscr1”, and “GridCscr1” are assigned.
[0033]
The display control unit 70 has a logic view area, which will be described later, as a display work memory, although not particularly shown in FIG. The contents of the display data drawn in the logical view area are displayed on the display device 90.
[0034]
The display device 80 is a display such as a CRT display, LCD, FED (Field Emission Display), or plasma display.
[0035]
The input device 90 performs input for generating a summary table, data input to the summary table, display / non-display setting of each column of the scroll region of the summary table, jump scroll operation of the scroll region, and the like. For example, the input device includes a pointing device such as a keyboard and a mouse.
[0036]
The mouse operation event processing unit 100 notifies the display control unit 70 of occurrence of events of various operations (single click, double click, mouse button down, drag, mouse button up, etc.) on the input device 90 by a message. Although not particularly shown, an event processing unit for notifying the display control unit 70 of a keyboard operation event in the input device 90 is also provided.
[0037]
The external storage device 110 is a storage device that stores the data of the binding table developed in the table information table 10, and includes a hard disk device, an optical disk device, and the like.
FIG. 2 is a diagram showing a data structure of the display attribute table 40. As shown in FIG.
As shown in the figure, the display attribute table 40 includes “column name”, “column width” for each column represented by column numbers “C1”, “C2”, “C3”,. , “Column display flag W”, “column display flag S”, “table display state flag”, and “selection state flag” are stored. That is, for example, for the column with column number “C1”, the column name “XXX”, the column width “W1”, the column display state flag W “1”, the column display state flag S “1”, and the display state flag “1” And a selection state flag “0” are stored. In this embodiment, the column number is a sequential number starting from “0”. That is, C1 = 0, C2 = 1,... Cn = n-1.
[0038]
In the present embodiment, “column name”, “column width”, “column display flag W”, “column display flag S”, “table display state flag”, and “selection state flag” are respectively “Name”. ”,“ Width ”,“ ShowFlgW ”,“ ShowFlgS ”,“ DispAreaflg ”, and“ SelectAreaflg ”. These variables become members of a structure named ColmStTbl [C] (C is a column number).
[0039]
ShowFlgW indicates “display designation” when “1” (True), and “non-display designation (display suppression designation)” when “0” (False). ShowFlgS indicates “displaying” when “1” (True), and “not displaying” when “0” (False). As will be described later, ShowFlgW and ShowFlgS are flags related to double-click and single-click operations, respectively.
[0040]
DisAreaflg indicates “inside display range” when “1” (True), and “outside display range” when “0” (False). In addition, Select Areaflg indicates “selected” when “1” (True), and “unselected” when “0” (False).
[0041]
FIG. 3 is a diagram showing a data structure of the column width information table 50. As shown in FIG.
As shown in the figure, the column width information table 50 is displayed on the screen of the display device 90 for each column represented by a column number of “Ci” (i = 1, 2, 3,... N). The starting point X coordinate “Xi” and the display row width “Wi” are stored.
[0042]
FIG. 4 shows the data structure of the column name list data buffer 60. As shown in FIG.
As shown in the figure, the column name displayed on the display device 90 for each column represented by the column number of the column width information table 50, “Ci” (i = 1, 2, 3,... N). Stores the column names (column heading names) listed in the list control. As is clear from FIG. 3 and FIG. 4, the display width of the “column heading name” is equal to the “column width”.
[0043]
FIG. 5 is a conceptual diagram illustrating a table drawing method by the display control unit 70.
A physical view area 210 shown in the upper part of FIG. 5 is a memory that stores all display data of the table, and corresponds to the display memory 30. Accordingly, display data for all columns and all rows of the table is drawn in the physical view area 210. This drawing is performed by the table data generation unit 20. The physical view area 210 includes a fixed item drawing area 211 and a scroll item drawing area 213. Display data of all fixed items (fixed columns) is drawn in the fixed item drawing area 211, and display data of all scroll items (scroll columns) is drawn in the scroll item drawing area 213.
[0044]
On the other hand, the logical view area 220 is a memory for storing display data of a table that is actually displayed on the display device 90, and is composed of a fixed item drawing area 221 and a scroll item drawing area 223 like the physical view area 210. The In the fixed item drawing area 221 and the scroll item drawing area 223, the display data of the fixed area of the table displayed on the display device 90 and the display data of the scroll area are stored, respectively. The display control unit 70 reads display data of a table to be displayed from the physical view area 210 and draws it in the logical view area 220. The display device 90 reads the display data drawn in the logical view area 220 and displays a table on the screen based on the display data.
[0045]
The column drawn in the fixed item drawing area 221 of the logical view area 220 is fixed (because it is a fixed column), but the scroll column drawn in the scroll item drawing area 223 is variable. As will be described later, the scroll column drawn in the scroll item drawing area 223 in response to a jump scroll operation on the column name list control or a display / non-display designation operation for a single or a plurality of scroll columns. Because it changes.
[0046]
The total width of the scroll columns drawn in the scroll item drawing area 223 of the logical view area 220 is Wscr1. Therefore, the sum of the column widths of the scroll columns in the scroll item drawing area 213 of the physical view area 210 drawn in the logical view area 220 is also Wscrl. Further, the column number of the column of the scroll item drawing area 223 of the physical view area 210 drawn at the left end of the scroll item drawing area 223 of the logical view area 220 is set to GridCscr1. FIG. 5 shows a drawing from the physical view area 210 to the logical view area 220 when all the scroll columns within the range of at least Wscr1 in the column direction from the left end of the column whose column number is GridCsrl are designated for display. Yes.
[0047]
In this embodiment, the total number of rows in the table is (Lmax + 1), and an integer serial number starting with “0” from the first row is assigned to each row in the table. The pitch of each row (equal to the cell width) is Lpitch.
[0048]
The scroll column drawn in the scroll item drawing area 223 of the logical view area 220 is determined by a column display state flag (ShowFlgW) in the display attribute table 40, as will be described later. Therefore, the display data of the fixed column drawn in the fixed item drawing area 211 is always drawn in the logical view area 220, but the display data of the scroll column drawn in the scroll item drawing area 213 is scrolled. In addition to the operation, whether or not drawing is performed is determined by the value of ShowFlgW in the column. Therefore, as shown in FIG. 5, display data of continuous scroll columns in the scroll item drawing area 213 is not necessarily drawn in the scroll item drawing area 223 of the logical view area 220.
[0049]
Further, since it is impossible to display all the rows of the table on the screen of the display device 90, the display rows in the physical view area 210 change according to the vertical scroll. In FIG. 5, the display area of the fixed item drawing area 211 and the scroll item drawing area 213 (area drawn in the logical view area 220) is hatched with a shaded rectangle (display area 211D) and a right diagonal line, respectively. A rectangle (display area 213D) is shown.
[0050]
Since the line included in the display area 211D in the fixed item drawing area 211 and the line included in the display area 213D in the scroll item drawing area 213 are changed by the horizontal scroll operation, the contents of the logical view area 220 are also changed accordingly. Will change. Further, in the present embodiment, a column to be hidden (a column to be suppressed) is designated by an operation on a column name list control, which will be described later, so that the display area 213D in the scroll item drawing area 213 is displayed. The configuration changes. For this reason, the display area 213D of the scroll item drawing area 213 is not necessarily a single rectangle, and may be composed of a plurality of discrete rectangles (a plurality of discrete scroll rows).
[0051]
Next, the overall operation of the information processing apparatus of FIG. 1 will be described with reference to the flowchart of FIG.
First, data related to the binding table is read from the external storage device 110 to generate the table information table 10 (step S1).
[0052]
As a result, the table data is stored in the table data storage unit 11, the total number of rows in the table is stored in the table row number storage unit 13, and the total number of columns in the table is stored in the table column number storage unit 15.
Next, the table data generation unit 20 generates table data with reference to the table information table 10 described above. The table column header data and the table data header data are respectively converted into a column header buffer 31 and a data row column. Store in the buffer 32 (step S2).
[0053]
Subsequently, the display control unit 70 refers to the display attribute table 40 and the column width information table 50 to read out table data (column heading part data and data part data) to be displayed from the display memory 30, and displays the display data. Is written on the display device 90 (step S3).
[0054]
As a result, the initial screen of the table is displayed on the display device 90.
Next, the display control unit 70 refers to the display attribute table 40 and the column name list data buffer 60 to generate column name list data in the column name list data buffer 60 (step S4), and the column name list data. Is written on the display device 90 (step S5).
[0055]
Thereby, column name list data (column name list control) is displayed on the screen of the display device 90.
Through the above processing, the initial screen 300 as shown in FIG. 28 is displayed on the display device 90. In the initial screen 300, a column name list control 301 is displayed at the lower left of the screen. The column name list control 301 displays a list of column names of the table (product sales record table) displayed on the display device 90, and the column names and non-display columns (not completely displayed) of the display columns. Column names of columns and columns that are not displayed at all are displayed in different display forms.
[0056]
In the present embodiment, the display column names (“product code” to “stock quantity”) are displayed in black with white as a background. In addition, non-displayed column names (“number of inventory months” to “01 month”) are displayed in black with gray as a background. Further, the column name frame of the display column is displayed with a solid line, and the column name frame of the non-display column is displayed with a broken line (dotted line).
[0057]
Next, the mouse operation event processing unit 100 determines whether or not a mouse operation event for the column name list control has occurred (step S6). If it has not occurred (NO in step S6), the process of step S6 is repeated. .
[0058]
As shown in FIG. 7, in this embodiment, the types of mouse operations include “mouse button down” (see FIG. 7B), “mouse drag and master button up” (see FIG. 7C). And “double click (W click)” (see FIG. 4D).
[0059]
In the present embodiment, by these mouse operations, it is possible to select a plurality of columns from “display” to “non-display” (display suppression) or from “non-display” to “display”. . Here, a method of the selection operation in the column name list control will be described with reference to FIG.
[0060]
FIG. 18A shows an initial display of the column name list control 301 (see FIG. 28). In this state, in order to “hide” the columns from the “rough rate” column to the “month of inventory”, first, as shown in FIG. 7B, the “rough rate” of the column name list control 301 is displayed. The mouse cursor 303 is overlaid on the display portion of "" and the mouse button is lowered.
[0061]
Next, as shown in FIG. 6C, after the mouse cursor 303 is moved to the “inventory months” display portion while the mouse button is pressed (mouse button is down) (after drag operation). Release the mouse button (up the mouse button). By the mouse operation so far, the column from the “rough rate” column to the “inventory month” column is selected (in this embodiment, the background color of those column names is blue).
[0062]
Subsequently, as shown in FIG. 4D, the mouse cursor is overlaid on the “stock quantity” display portion in the selection range in which the background color is blue, and double-clicked.
By the above mouse operation, the columns of “rough rate”, “stock quantity”, and “month of inventory” are designated as “non-display”, and their ShowFlgW is changed from “display designation” (True) to “non-display designation”. It changes to (False).
[0063]
As a result, the columns of “Roughness” and “Number of inventory” disappear from the screen, and the column after “Current month” is displayed after “Number of purchases” (the column of “Number of inventory” is not displayed). As the display of the table changes, the display of the column name list control 301 also changes. That is, the column names of “rough rate”, “inventory quantity”, and “inventory month number” designated to be hidden are displayed in bold white with a gray background. Also, the “rough rate” and “inventory quantity” frames also change from a solid line to a broken line (the “inventory month” frame remains a broken line).
[0064]
In this way, as a result of the “Gross rate”, “Inventory quantity”, and “Inventory month” columns being hidden, the columns after “Current month” are displayed following the “Gross profit” column. In addition, the display is moved to the left on the screen, and the columns up to “current month” and “March” are completely displayed. As a result, in the display of the column name list control 301, the column names “current month” and “March” are displayed in black with white as a background. In addition, the frame of these column names also changes from a broken line to a solid line.
[0065]
As described above, in the present embodiment, it is possible to change the setting of the ShowFlgW of a column that is not currently displayed by a mouse operation on the column name list control 301. Further, not only a plurality of columns but also a single column display / non-display can be designated. FIG. 8 is a diagram illustrating an example of such single column non-display designation.
[0066]
The figure shows a display state when only the column “March” is changed from “display designation” to “non-display designation”. In this case, the mouse cursor may be overlaid on the column name display portion of “March” of the column name list control 301 and the display may be double-clicked. As a result, in a subsequent operation, when the horizontal scroll is performed in the left direction, the column of “March” is not displayed, and the column of “02 month” is displayed after the column of “current month”. In this way, display / non-display designation of a single column can be performed by a one-touch operation by simply double-clicking a column name on the column name list control 301.
[0067]
Returning to the description of the flowchart of FIG.
If it is determined in step S6 that a mouse operation event has occurred (step S6, NO), it is determined whether the event is a jump scroll operation event (step S7).
[0068]
In the present embodiment, an operation of single-clicking on “column name” on which the mouse cursor on the column name list control 301 overlaps corresponds to the jump scroll operation. When this jump scroll operation is performed, the entire table is horizontally scrolled so that the column with the column name that has been single-clicked becomes the first scroll item of the table (the column displayed at the leftmost end).
[0069]
If it is determined in step S7 that the jump scroll operation has been performed (step S7, YES), jump scroll processing is executed (step S8), and then the process returns to step S6.
[0070]
On the other hand, if it is determined in step S7 that the operation is not a jump scroll operation (step S7, NO), it is determined whether or not the operation is to designate “display / non-display of column” in FIG. 7 described above (step S9). If it is a column display / non-display designation operation (step S9, YES), a column display / non-display process is executed (step S10), and then the process returns to step S6.
[0071]
If it is determined in step S9 that the operation is not a column display / non-display designation operation (step S9, NO), nothing is done and the process returns to step S6.
In this way, the message loop process in steps S6 to S10 is executed while the system is activated.
[0072]
FIG. 9 is a flowchart for explaining the jump scroll process in step S8.
When a single click (S click) is performed on the column name list control 301, the mouse operation event processing unit 100 displays the information indicating that the generated event is a single click operation and the column number of the column of the single clicked column name. Is notified to the display control unit 70.
[0073]
When the display control unit 70 receives this message, the display control unit 70 executes the processing of the flowchart of FIG.
That is, the display control unit 70 first sets the column number set in the message to the variables Csno and GridCscr1 (step S11). Next, the value of Cscrl is set in the variable C (step S12). As a result, the column number of the scroll column that has been S-clicked is set in Csno. In addition, the column number of the scroll column to be displayed at the left end of the scroll area of the table is set in GridCscr1, and the column number of the scroll start column is set in C.
[0074]
Next, it is determined whether C <Csno (step S13). If C <Csno is “True”, then ColmStTbl [C]. ShowFlgS is set to “False” (step S14). On the other hand, if “False”, ColmStTbl [C]. ShowFlgS is set to “True” (step S15).
[0075]
After the process of step S14 or S15, the value of the variable C is incremented by “1” (step S17), and it is determined whether C> Cmax is satisfied (step S17).
If C> Cmax is “False”, the process returns to step S13.
[0076]
In this way, ColmStTbl [Ci]. Of column Ci whose column number is smaller than Csno. ShowFlgS is set to “False” and ColmStTbl [Cj] .C of column Cj whose column number is Csno or higher. ShowFlgS is set to “True”.
[0077]
Then, as described above, ColmStTbl [C]. When the setting of ShowFlgS is completed, an S click column display switching method, which will be described later, is called for the display target table object with the variable Csno as an argument (step S18).
[0078]
By executing this S-click column display switching method, the display data of the scroll item drawing area 113 in the physical view area 210 is redrawn in the logical view area 220. Then, as shown in FIG. 5, a table that is jump-scrolled on the screen of the display device 90 so that the column whose column name is S-clicked on the column name list control 301 is displayed at the head of the scroll area. Is displayed.
[0079]
Subsequent to step S18, a column display area determination routine, which will be described later, is called and ColmStTbl [C]. The value of DisplayAreaFlg is set (step S19), and then a column name list control display routine is called (step S20). By calling this column name list control display routine, the column name list control 301 is displayed in a format corresponding to the table display format displayed in step S22. Details of the column name list control display routine will also be described later.
[0080]
FIG. 10 is a diagram showing an overall flow of the column display / non-display processing in step S10.
In this flow, first, a mouse button down process is performed (step S31). In this mouse button down process, as shown in FIG. 7B, the column name list control 301 changes the background color of the column name for which the mouse button down operation has been performed. Details of this mouse button down processing routine will be described later.
[0081]
Next, mouse button down & mouse move processing is performed (step S32). In this mouse button down & mouse move process, as shown in FIG. 7C, the column name list control 301 changes the background color of the column name selected in accordance with the mouse drag operation. Details of this mouse button down & mouse move processing routine will also be described later.
[0082]
Subsequently, mouse button up processing is performed (step S33). In this mouse button up process, as shown in FIG. 7C, the column name list control 301 changes the display form of the column names within the selection range designated by the mouse button down operation and the mouse button up operation. And ColmStTbl [C]. Set Flag to “True” (when multiple columns are selected) or “False” (when a single column is selected). Details of the mouse button up processing routine will also be described later.
[0083]
Finally, a mouse double click (mouse W click) process is performed (step S34). In this mouse W click process, as shown in FIG. 7D, the ShowFlgW of the column determined by double clicking on the column name list control 301 is changed. In response to this change, the display form of the column name list control 301 and the display contents of the scroll area of the table are changed. Details of the mouse button W click processing will also be described later.
[0084]
FIG. 11A is a flowchart showing details of the initialization process of the entire display attribute table 40 (ColmStTbl [C]) performed by the display control unit 70. The process of the flowchart of FIG. 11A is performed in step S4 of the flowchart of FIG.
[0085]
First, the table object to be displayed is read from the table data storage unit 11 of the table information table 10, the effective scroll width is set to Wscrl, the scroll start column number to Cscrl (the column number of the leftmost column to be scrolled) , Cmax is set to the last column number of the table object, and GridCscr1 is set to the leftmost column number of the current scroll area (in this stage, GridCscr1 = Cscr1) (step S41).
[0086]
Next, the variable C is initialized to “0” (step S42), and then it is determined whether Cscr1 is “0” (step S43). A table object in which Cscrl is “0” is a table object having no fixed column.
[0087]
Subsequently, if Cscr = 0 is “False”, the display attribute of each fixed column is set from the table object to the display attribute table ColmStTbl [i] (i is a column number) of each fixed column (step S44).
[0088]
In the present embodiment, it is assumed that the display attribute table 40 includes a display attribute table ColmStTbl [i] for each column. This display attribute table ColmStTbl [i] is defined as a structure as schematically shown in FIG. This structure has Name, Width, ShowFlgW, ShowFlgS, DispAreaFlg, and SelectAreaFlg as members. A column name, a column width, a column display flag W, a column display flag S, a display state flag, and a selection state flag are set in the members Name, Width, ShowFlgW, ShowFlgS, DispAreaFlg, and SelectAreaFg, respectively (see FIG. 2). ).
[0089]
Therefore, in step S44, ColmStTbl [C]. Name, ColmStTbl [C]. Width, ColmStTbl [C]. ShowFlgW, ColmStTbl [C]. ShowFlgS, ColmStTbl [C]. DispAreaFlg, ColmStTbl [C]. In SelectAreaFlg, column name C, column width, column display flag W value (= True), column display flag S value (= True), display state flag value (= True), and selection state flag value (= False) is set.
[0090]
Next, the value of C is incremented by “1” (step S45), and then it is determined whether C ≧ Cscrl (step S46). If C ≧ Cscr1 is “False” (false), the process returns to step S43.
[0091]
In this manner, the processing of steps S43 to S46 is repeated until C ≧ Cscr1 becomes “True”, and the attribute information of the fixed column of the display attribute table 40 is set.
[0092]
If it is determined in step S46 that C ≧ Cscr1 is “True”, that is, C = Cscr1, the display attribute of the scroll column is set from the table object to the display attribute table ColmStTbl [C] of the scroll column ( Step S47).
[0093]
The process of step S47 is the same as the process of step S43 described above except that the value of the variable C indicates the column number of the scroll column.
Subsequent to step S47, the value of the variable C is incremented by “1” (step S48), and then it is determined whether C> Cmax is satisfied (step S49). Then, while C> Cmax is “False”, the processing of steps S47 to S49 is repeated to set the attribute information of all the scroll columns (column numbers of Cscrl to Cmax) in the display attribute table 40.
[0094]
When it is determined that C> Cmax is “True” (step S49, YES), the column display area determination routine is called, the value of DisplayAreaFlg in the display attribute table 40 is set (step S50), and the process returns to the caller. . Details of the display area determination routine for the row will be described later.
[0095]
Next, details of the “S click column display switching method” in step S22 of the flowchart of FIG. 9 will be described with reference to the flowcharts of FIGS.
[0096]
First, the variable C (column number counter) and the variable Cpno are both set to “0” (step S51).
Next, the values of the variable C and Cscr1 are compared (step S52). If C <Cscrl, ColmStTbl [C]. ShowFlgW is determined (step S53), and ColmStTbl [C]. If ShowFlgW is “True”, the value of Cpno is set to ColmStTbl [C]. It increases by the value of Width (step S54). Then, the value of C is incremented by “1” (step S55), and the process returns to step S52.
[0097]
In this way, the coordinate of the right end of the scroll item drawing area 223 of the logical view area 220 is set to the variable Cpno.
If it is determined in step S52 that C ≧ Cscr1 (in this case, C = Cscr1), both the variable L serving as the line number counter and the variable Lp in which the drawing line coordinates are set are set to “0”. Initial setting is performed (step S56). Next, the value of the argument Csno is set in the variable C, and the value of Cpno is set in the variable Cp (step S57).
[0098]
As a result, the left coordinate of the drawing position on the scroll item drawing area 223 of the logical view area 220 of the cell to be drawn in the variable Cp, that is, the scroll item drawing area of the logical view area 220 of the cell of the single clicked column. The left coordinate of the drawing position in 223 is set.
[0099]
Subsequently, ColmStTbl [C]. ShowFlgW is determined (step S58), and ColmStTbl [C]. If ShowFlgW is “True”, the “1-cell drawing” routine is called to draw the display data of DataTbl [C, L] in the scroll item drawing area 223 of the logical view area 220 (step S59).
[0100]
Here, the table is composed of a plurality of cells. The display data of each cell is stored in the display memory 30 (physical view area 210) DataTbl [i, j] (i is a row number, j is a column number). ) Is stored as array data.
[0101]
FIG. 14 is a diagram schematically showing a method of drawing the display data DataTbl [C, L] of the cell having the column number C and the row number L in the logical view area 220 in step S59.
[0102]
As shown in the figure, the drawing area on the logical view area 220 of each array data DataTbl [C, L] of the table data table is the cell left coordinate (drawing column coordinate indicating the column coordinate of the left frame of the cell) Cp. And cell upper coordinates (drawing line coordinates indicating the line coordinates of the upper frame of the cell) Lp, cell width ColmStTbl [C]. It is determined by the width and the cell height Lpitch.
[0103]
The 1-cell drawing routine uses Cp, Lp, ColmStTbl [C]. Width, Lpitch, and DataTbl [C, L] are received, and DataTbl [C, L] is drawn in the relevant area of the logical view area 220 as shown in FIG.
[0104]
Subsequent to step S59, the value of Cp is changed to ColmStTbl [C]. It increases by the value of Width (step S60). Then, the value of C is incremented by “1” (step S61), then the values of C and Cmax are compared (step S62), and if C ≦ Cmax, the process returns to step S58.
[0105]
If “False” is determined in step S58, the drawing of DataTbl [C, L] is not performed, and the process proceeds to step S61.
If it is determined in step S62 that C> Cmax, the value of Lp is increased by Lpitch (step S63), and then the value of L (row number) is incremented by “1” (step S64). Then, L and Lmax (final line number) are compared (step S65), and if L ≦ Lmax, the process returns to step S57. On the other hand, if it is determined in step S65 that L> Lmax, the process returns to the caller.
[0106]
In this way, the drawing in the scroll item drawing area 223 of the logical view area 220 of the column after the single-clicked column (column number Cno) is performed in units of one line by the loop processing of steps S58 to S62. . This drawing is performed in the order of the row numbers from the 0th row (row whose row number is “0”).
[0107]
In addition, by the loop processing of steps S57 to S65, the drawing in the scroll item drawing area 223 of the logical view area 220 of the column after the single-clicked column (column number Cno) is performed on all the rows. As a result, when a jump scroll operation is performed by single click, the single clicked column is displayed at the left end of the scroll region, and the single clicked column follows from the left end within the effective scroll width Wscr1. Columns (provided that ColmCtrl.ShowFlgW is set to “True”) are continuously displayed. This is because, in step S58, the scroll item drawing area 223 of the logical view area 220 has ColmStTbl [C]. This is because only the cells in the column whose ShowFlgW is “True” are drawn.
[0108]
The basic information (Cmax, Lmax, Lpitch) used by the column display switching method is stored in the table information table 10 in advance, and the display control unit 70 stores these basic information from the table information table 10. Read and execute the S-click column display switching method.
[0109]
In this way, the display data of the columns designated for display after the single-clicked column is rendered in the scroll item rendering area 223 of the logical view area 220 shown in FIG. 5 by the S-click column display switching method. The Then, for example, a screen 400 as shown in FIG. 29 is displayed on the display device 90.
[0110]
The screen 400 is a screen that is displayed when “inventory months” is single-clicked on the column name list control 301 in the initial display screen 300 shown in FIG. 28. By this single click operation, as shown on the screen 400, scroll display control is performed such that the column “number of months in stock” is displayed at the left end of the scroll area of the table. As described above, in this embodiment, the column name of the scroll column is controlled by single-clicking on the column name list control 301 so that the scroll column is displayed at the left end of the scroll area of the table.
[0111]
Therefore, the user can simply display a column that has not been displayed on the screen up to now, or can display a desired column or column of the table by a simple operation of single-clicking the column name on the column name list control 301. The group can be displayed at a position where it can be easily seen.
[0112]
In the present embodiment, the display form related to the column name of the scroll column on the column name list control 301 is also changed in accordance with the change in the screen display of the table. For example, when the screen changes from the initial screen 300 to the screen 400, the upper and lower frame lines of the column names from “sales” to “stock quantity” change from “solid line” to “dashed line” in the column name list control 301. On the contrary, the upper and lower frame lines of the column names from “number of months of inventory” to “January” change from “broken line” to “solid line”. As a result, the user can easily recognize whether or not there is a left column from the leftmost column displayed on the screen by displaying the column name list control 301. These display controls are executed by the processing described below.
[0113]
FIG. 15 is a flowchart illustrating details of the “column display area determination” routine in step S19 of FIG.
First, Wscr1, Cscr1, Cmax, and GridCsrl, which are basic information of the table, are read from the registers 71 to 74 (step S71).
[0114]
Next, the value of Cscr1 is substituted for variable C, and variable Csum is initialized to “0” (step S72). As a result, the column number of the scroll start column is set in the variable C. The variable Csum is a variable for calculating the total column width of the scroll area.
[0115]
Subsequently, ColmStTbl [C]. ShowFlgS is determined (step S73). Then, ColmStTbl [C]. If ShowFlgS is "False", the process proceeds to step S78. If ShowFlgS is "True", then ColmStTbl [C]. ShowFlgW is determined (step S74).
[0116]
In step S74, ColmStTbl [C]. If it is determined that ShowFlgW is “True”, Csum and ColmStTbl [C]. The addition result of Width is substituted into Csum (step S75).
[0117]
Next, it is determined whether Csum ≦ Wscr1 (step S76). If Csum ≦ Wscr1 is “True”, then ColmStTbl [C]. DispAreaFlg is set to “True” (step S77), and if Csum ≦ Wscr1 is “False”, then ColmStTbl [C]. “False” is set in DispAreaFlg (step S78).
[0118]
Subsequently, the value of the variable C is incremented by “1” (step S79), and then it is determined whether C> Cmax is satisfied (step S80). If C> Cmax is “False”, the process returns to step S73.
[0119]
As described above, both ShowFlgS and ShowFlgW accumulate the column width Width in order from the start column to be scrolled, for the columns in the scroll region where “True” is set. Then, a scroll row within the display range is determined based on whether or not the accumulated value Csum exceeds the effective scroll width Wscr1. Then, the display state flag DispAreaFlg is set to “True” for the scroll line that is within the display range, and the display state flag DispAreaFlg is set to “False” for the scroll line that is outside the display range.
[0120]
If C> Cmax is “True” in step S89, the processing for setting DispAreaFlg is completed for all the columns in the scroll area, and the process returns to the caller.
[0121]
As a result, only the scroll column in which ShowFlgS and ShowFlgW are both “True” in the scroll column is set to “True”, and DispAreaFlg is set to “True”.
[0122]
FIG. 16 is a flowchart showing details of the column name list control display routine in step S20 of the flowchart of FIG.
In this process, first, the variable C is initialized to “0” (step S91). Next, the leftmost frame line of the column name list control 301 is drawn with a solid line (step S92).
[0123]
Subsequently, the column name list control column unit display routine is called with the argument C, and the column name of the column whose column number is equal to the value of the argument C is drawn on the column name list control 301 (step S93). Subsequently, the value of C is incremented by “1” (step S94), and it is determined whether C> Cmax is satisfied (step S95). If C> Cmax is “False”, the process returns to step S93.
[0124]
As described above, the column name list control 301 is drawn. If it is determined in step S95 that C> Cmax is “True”, that is, the drawing of the column name list control 301 is completed up to the final column name, ColmStTbl. [Cmax]. DispAreaFlg is determined (step S96), and ColmStTbl [Cmax]. If DispAreaFlg or "True", the rightmost frame line of the column name list control 301 is drawn with a solid line (step S97). On the other hand, if “False”, the rightmost frame line of the column name list control 301 is drawn with a dotted line (broken line) (step S98). Then, after the process of step S97 or S98 is completed, the process returns to the caller.
[0125]
FIG. 17 is a detailed flowchart of the column name list control unit display routine in step S93.
In the flowchart of FIG. 9, steps S101 to S109 are processes related to columns within the display range, and steps S110 to S117 are processes related to columns outside the display range.
[0126]
First, ColmStTbl [C]. DispAreaFlg is determined (step S101), and ColmStTbl [C]. If DispAreaFlg is “True”, the upper and lower frame lines of the column name of column number C are drawn as solid lines (step S102). Next, ColmStTbl [C]. ShowFlgW is determined (step S103), and ColmStTbl [C]. If ShowFlgW is “True”, then ColmStTbl [C]. SelectAreaFlg is determined (step S104).
[0127]
Then, ColmStTbl [C]. If SelectAreaFlg is “True”, the column name of column number C is drawn in black with the background color blue (step S105). On the other hand, if it is “False”, the column name of column number C is drawn in black with the background color white (step S106).
[0128]
If “False” in step S103, ColmStTbl [C]. SelectAreaFlg is determined (step S107), and ColmStTbl [C]. If SelectAreaFlg is “True”, the column name of column number C is drawn in white bold with the background color blue (step S108). On the other hand, if it is “False”, the column name of column number C is drawn in white bold with the background color as gray (step S109).
[0129]
As a result of the above processing, all the column names of the columns within the display range and designated for display are displayed in black, but depending on whether or not they are currently selected, the background Is displayed in blue (selected) and white (non-selected) colors. In addition, the column names of columns that are in the display range and that are not specified for display are all displayed in white bold, but depending on whether or not they are currently selected, the background Is displayed in blue (selected) and white (non-selected).
[0130]
In this way, in the display of the column name list control 301, whether the column name of the column within the display range is currently display designation or non-display designation, and is selected or not selected 4 Depending on the state of the type, it is displayed in four types. After the process of step S105, S106, S108, or S109 is completed, the process returns to the caller.
[0131]
If “False” in step S101, the upper and lower frame lines of the column name of column number C are drawn with dotted lines (step S110). Next, ColmStTbl [C]. It is determined whether ShowFlgW is “False” (step S111), and ColmStTbl [C]. If ShowFlgW is “True”, then ColmStTbl [C]. SelectAreaFlg is determined (step S112).
[0132]
Then, ColmStTbl [C]. If SelectAreaFlg is “True”, the column name of column number C is drawn in black with the background color blue (step S113). On the other hand, if it is “False”, the column name of the column number C is drawn in black with a gray background color (step S114).
[0133]
In step S111, ColmStTbl [C]. If ShowFlgW “False”, then ColmStTbl [C]. SelectAreaFlg is determined (step S115). Then, ColmStTbl [C]. If SelectAreaFlg is “True”, the column name of column number C is drawn in white bold with the background color blue (step S116). On the other hand, if it is “False”, the column name of column number C is drawn in white bold with the background color as gray (step S117).
[0134]
Then, after the process of step S113, S114, S116, or S117, the process returns to the caller.
In this way, scroll names outside the display range are also displayed in four types of column names according to the true / false values of ShowFlgW and SelectAreaFlg. All the column names of columns that are outside the display range, that is, not currently displayed, are displayed with dotted upper and lower frame lines. In addition, in the columns outside the display range, all the column names of the columns that are designated for display are displayed in black, but the background is blue (selected) and gray (depending on whether or not it is currently selected) (Not selected) are displayed in a distinguished manner. In addition, in the column outside the display range, the column name of the column that is not specified for display is displayed in bold white, but the background is blue (selected) depending on whether it is currently selected or not. Displayed in gray (not selected). Furthermore, in the present embodiment, for a column that is designated for display and is not in a selected state, whether or not the column is within the display range can be identified by changing the background color. Yes. That is, if the background color of the column name is within the display range, it is displayed in white, and if it is outside the display range, it is displayed in gray.
[0135]
As described above, in the display of the column name list control 301, the column names of the currently selected columns are displayed with a blue background regardless of whether or not they are within the display range. Therefore, the selected column and the unselected column can be identified by the background color of the column name displayed in the column name list control 301. Further, a column designated for display and a column designated for non-display can be identified by the character color of the column name displayed in the column name list control 301. Further, even if a column is designated for display and is not selected, whether or not the column is in the display range depends on the background of the column name displayed in the column name list control 301. Can be identified by color.
[0136]
In addition, the said display form is only an example, It is also possible to identify the state of each column by other display forms.
Next, details of the “mouse button processing” routine in step S31 of the flowchart of FIG. 10 will be described with reference to the flowchart of FIG.
[0137]
The mouse button processing routine receives, as an argument, the column number of the column name where the mouse button is down-operated on the column name list control 301. First, an existing selection cancel routine is called and all ColmStTbl [C]. SelectAreaFlag is set to “False” (step S121). Details of this existing selection cancel routine will be described later.
[0138]
Next, a column name list selection display routine is called to execute processing for changing the display of the column name list control 301 to a form as shown in FIG. 7B, for example. When the column name list selection / display routine is called, the column number received as the argument is passed to the column name list selection / display routine as the first and second arguments (step S122). Details of the column name list selection display routine will also be described later.
[0139]
Subsequently, ColmCtrl. The column number received as the argument is set in Start (step S123), and the process returns to the caller.
FIG. 19 is a flowchart showing details of the existing selection cancel routine in step S121 of FIG.
[0140]
First, ColmCtrl. Flg is determined (step S131). And, ColmCtrl. If Flg is “False”, the process returns to the caller. On the other hand, if “True”, a “display attribute table selection clear” routine is called, and ColmStTbl [C]. SelectAreaFlg is set to “False” (step S132). The details of this “display attribute table selection clear” routine will be described later.
[0141]
Next, ColmCtrl. Flg is set to “False” (step S133), and the process returns to the caller.
Details of the “display attribute table selection clear” routine in step S132 will be described with reference to the flowchart of FIG.
[0142]
First, the variable C is initialized to “0” (step S141). Next, ColmStTbl [C]. SelectAreaFlg is set to “False” (step S142), and then the value of variable C is incremented by 1 (step S143). Then, the values of the variables C and Cmax are compared (step S144). If C> Cmax, the process returns to the caller. If C ≦ Cmax, the process returns to step S142.
[0143]
In this way, ColmStTbl [0]. SelectAreaFlg-ColmStTbl [Cmax]. All SelectAreaFlg are set to “False”. When this setting is completed, it is determined in step S144 that C> Cmax, and the process returns to the caller.
[0144]
Next, details of the “mouse button down & mouse move processing” routine in step S32 of the flowchart of FIG. 10 will be described with reference to the flowchart of FIG.
[0145]
The “mouse button down & mouse move processing” routine is the column number of the column name on the column name list control 301 pointed to by the mouse cursor when the mouse button is currently down from the caller. As an argument. Then, this column number is set as the second argument, ColmCtrl. The column name list selection display routine is called with Start as the first argument, and display control of the column name list control 301 as shown in FIG. 7C is performed (step S151).
[0146]
FIG. 22 is a flowchart showing details of the column name list selection display routine.
First, the “display attribute table selection clear” routine described above is called (step S151). As a result, all columns of ColmStTbl [C]. SelectAreaFlg is set to “False”.
[0147]
Next, Start, which is the first argument, is compared with End, which is the second argument (step S153). As described above, Start is described in ColmCtrl. It is equal to Start (the column number of the column name column on the column name list control 301 that the mouse cursor was pointing to when the mouse button was down), and End is the column name list control 301 currently pointed to by the mouse cursor. Equal to the column number of the above column name.
[0148]
Subsequently, Start and End are compared (step S152). If Start ≦ End, the Start value is set in the variable C0, and the End value is set in the variable C1 (step S153). On the other hand, if Start> End, the value of End is set in the variable C0, and the value of Start is set in the variable C1 (step S154).
[0149]
This process is because the mouse drag operation direction on the column name list control 301 is considered from both left to right and from right to left. Therefore, the process of step S153 is executed if it is from the left to the right, and the process of step S154 is executed if it is from the right to the left. Then, the column number of the leftmost column name and the column number of the rightmost column name when the column name is dragged on the column name list control 301 by the processing of step S153 or S154, respectively, Set to C0 and C1.
[0150]
Next, the value of C0 is set to the variable C (step S155). Subsequently, ColmStTbl [C]. “True” is set in SelectAreaFlg (step S156), and the value of variable C is incremented by “1” (step S157).
[0151]
Then, the values of C and C1 are compared (step S158), and if C ≦ C1, the process returns to step S156. In this way, the loop processing of steps S156 to S158 is repeated until it is determined in step S158 that C> C1. If it is determined in step S158 that C> C1, the above-described column name list control display routine of FIG. 16 is called (step S159).
[0152]
When a column name is dragged on the column name list control 301 by the loop processing of steps S156 to S158 described above, ColmStTbl [C]. Only SelectAreaFlg is set to “True”. Therefore, the background color of the dragged column name changes to blue in the display of the column name list control 301 by the process of step S159. Also, if the mouse button is raised after the drag operation, the column name where the mouse button is down, the column name where the mouse button is raised, and the background color of the column names between those column names Displayed in blue. If the column name with the mouse button down and the column name with the mouse button up are the same even though the drag operation has been performed, the processing of steps S155 to S158 is performed only once. Only the background color of the column name is displayed in blue.
[0153]
Next, details of the mouse button up processing in step S33 of the flowchart of FIG. 10 will be described with reference to the flowchart of FIG.
This mouse button up processing routine receives the column number of the column name pointed to by the mouse cursor when the mouse button is raised on the column name list control 301 as an argument. When a column name is dragged on the column name list control 301, the column number of the column name pointed to by the mouse cursor when the mouse button is dropped (released) becomes the argument.
[0154]
First, the column number and ColCtrl. Start is compared (step S161). And if both are different, ColmCtrl. The column number is set to End, and ColmCtrl. Flg is set to “True” (step S162). On the other hand, if the two match, ColmCtrl. The column number is set to End, and ColmCtrl. “False” is set in Flg (step S163).
[0155]
The process of step S162 corresponds to a process when a plurality of column names are specified by a mouse drag operation on the column name list control 301. On the other hand, the processing in step S163 corresponds to processing when a single column name is designated by a mouse drag operation.
[0156]
When the process of step S162 or S163 is executed, the above-described column name list selection display routine of FIG. 22 is called (step S164), and the process returns to the caller. By the process of step S164, the column name selected on the column name list control 301 is finally determined by the drag operation of the mouse by the user, and these column names are displayed with a blue background color.
[0157]
Next, details of the mouse W click process in step S34 of the flowchart of FIG. 10 will be described with reference to the flowcharts of FIGS.
The mouse W click processing routine receives the column number of the column of the column name W-clicked on the column name list control 301 as an argument. And, first, ColmCtrl. Flg is determined (step S201), and ColmCtrl. If Flg is “False”, the process proceeds to step S211, and if “True”, the process proceeds to step S209.
[0158]
ColmCtrl. Flg being “False” indicates that the number of columns selected as display / non-display designation on the column name list control 301 is one (single selection) (see step S163 in the flowchart of FIG. 23). ). On the other hand, ColmCtrl. Flg being “True” indicates that there are a plurality of columns selected as display / non-display designation on the column name list control 301 (multiple selection is being performed) (see step S162 in the flowchart of FIG. 23). ).
[0159]
In the present embodiment, when a certain column name is directly W-clicked without dragging on the column name list control 301, ColCtrl. Start and ColmCtrl. End is set to the column number of the column name, and ColmCtrl. Assume that Flag is set to “False”, the processing of steps S31 to S33 is skipped, and the mouse W click processing routine of step S34 is executed. Therefore, in this embodiment, a single column can be selected and a display / non-display of the column can be designated by directly W-clicking the single column name on the column name list control 301. Is possible.
[0160]
In the case of single selection, as described above, a single column to be changed from “display” to “non-display” or “non-display” to “display” is clicked on the column name list control 301. . If it is determined in step S201 that it is “False”, the column number of the argument is set in the variable Cno (step S202). Next, ColmStTbl [C]. ShowFlgW is determined (step S203), and ColmStTbl [C]. If ShowFlgW is “True”, then ColmStTbl [C]. ShowFlgW is set to “False” (step S204). On the other hand, if “False”, ColmStTbl [C]. ShowFlgW is set to “True” (step S205).
[0161]
In this way, on the column name list control 301, ColStTbl [C]. Inverts the truth value of ShowFlgW.
Subsequently, the W click column display switching method is called for the table object to be displayed using Cno as an argument (step S206). By calling this W click column display switching method, the scroll item drawing area 223 of the logical view area 220 is updated (the scroll column in which the column name is designated by the W click operation is changed from display designation to non-display designation. Or the display specification changes from the non-display specification, and the column displayed in the scroll area of the table changes accordingly.) Details of this W-click column display switching method will be described later.
[0162]
Next, the above-described column display area determination routine is called (step S207), and similarly, the above-described column name list control display routine is called (step S208), and the process returns to the caller. The display form of the column name list control 301 is changed by the processing in steps S207 and S208. That is, on the column name list control 301, when the designation of a certain column is changed from “display” to “non-display” by W click, the column name of the column changes from black to white. On the other hand, when “non-display” is changed to “display”, the column name of the column changes from white to black.
[0163]
As described above, in this embodiment, by clicking the “column name” of the column on the column name list control 301, the column is displayed from “display” to “hidden”, or from “hidden” to “display”. Can be easily changed.
[0164]
If “True” is determined in step S201 (when it is determined that a plurality of columns are selected on the column name list control 301), the received argument is used as an argument as it is, “column name list control W click processing "Routine is called (step S209), and the process returns to the caller. Details of this column name list control W click processing routine will be described later.
[0165]
Next, the details of the “W click column display switching method” called in step S206 will be described with reference to the flowcharts of FIGS.
First, both the variable C and the variable Cpno serving as the column number counter are initially set to “0” (step S221).
[0166]
Next, the value of the variable C and the argument Cno are compared (step S222). If C <Cno, then ColmStTbl [C]. ShowFlgW or ColmStTbl [C]. It is determined whether ShowFlgS is “False” (step S223), and ColmStTbl [C]. ShowFlgW and ColmStTbl [C]. If ShowFlgS is “True”, the value of Cpno is set to ColmStTbl [C]. It increases by the value of Width (step S224). Then, the value of C is incremented by “1” (step S225), and the process returns to step S222. On the other hand, in step S223, ColmStTbl [C]. ShowFlgW or ColmStTbl [C]. If ShowFlgS is “False”, the process proceeds to step S225.
[0167]
In this way, “display designation” (ColmStTbl [C] .ShowFlgW = True) in “the column from the top column of the table” to “the column immediately before the column clicked by W” is set, and the jump is performed. The total of the column widths of the columns that are not hidden by the scroll operation is set in the variable Cpno. Thereby, in Cpno, the display data of the leftmost column (the column that is W-clicked in the case of single selection) in which the column name is selected on the column name list control 301 is displayed in the logical view area 220 to be drawn. The coordinates of the drawing position in the scroll item drawing area 223 are set.
[0168]
In this embodiment, the jump scroll operation and the W click operation are processed in an integrated manner, and thus such processing is performed. However, the determination in step S223 is only one example, The embodiment may be used. In the present embodiment, when there are display-designated columns among the columns that have disappeared from the screen by the jump scroll operation by the processing after step S226, these columns can be redisplayed by the W click operation. In other words, among the columns disappeared by the jump scroll operation, the display after the column selected by the W click operation (after the selected leftmost column when a plurality of columns are selected by the W click operation described later) is displayed. The designated column (the column in which ColmStTbl [C] .ShowFlgW is “True”) is displayed again.
[0169]
If it is determined in step S222 that C ≧ Cno, both the variable L as a line number counter and the variable Lp in which the drawing line coordinates are set are initially set to “0” (step S226). Next, the value of the argument Cno is set in the variable C, and the value of the variable Cpno (drawing column coordinates) is set in the variable Cp (step S227).
[0170]
Thereby, the drawing column coordinates in the scroll item drawing area 223 of the logical view area 220 of the cell to be drawn (the cell in the selected leftmost column) are set in the variable Cp.
[0171]
Subsequently, ColmStTbl [C]. ShowFlgW is determined (step S228), and ColmStTbl [C]. If ShowFlgW is “True”, the “1-cell drawing” routine is called to draw the display data of the data table DataTbl [C, L] in the scroll item drawing area 223 of the logical view area 220 (step S229). This “one cell drawing” routine is the same as the routine called in step S59 of FIG.
[0172]
Subsequent to step S229, the value of Cp is changed to ColmStTbl [C]. It increases by the value of Width (step S230). Then, the value of C is incremented by “1” (step S231), then the values of C and Cmax are compared (step S232), and if C ≦ Cmax, the process returns to step S228.
[0173]
If “False” is determined in step S228, the drawing of DataTbl [C, L] is not performed, and the process proceeds to step S231.
If it is determined in step S232 that C> Cmax, the value of Lp is increased by Lpitch (step S233), and then the value of L (row number) is incremented by “1” (step S234). Then, L and Lmax (final line number) are compared (step S235), and if L ≦ Lmax, the process returns to step S227.
[0174]
In this manner, the logical view area 220 of the column designated for display after the column (column number Cno) whose column name is W-clicked on the column name list control 301 by the loop processing of steps S228 to S232. Drawing in the scroll item drawing area 223 is performed in units of one line. This drawing is performed in the order of the row numbers from the 0th row (row whose row number is “0”). Thus, only the cells in the column designated as “display designation” are rendered in the scroll item rendering area 223 of the logical view area 220 by the determination in step S228.
[0175]
In addition, by the loop processing of steps S227 to S235, all the drawing in the scroll item drawing area 223 of the logical view area 220 of the column designated for display after the column where the W is clicked (column of column number Cno) is performed. To the line.
[0176]
The basic information (Cmax, Lmax, Lpitch) used by the W-click column display switching method is stored in advance in the table information table 10, and the display control unit 70 receives these basic information from the table information table 10. Read the information and execute the column display switching method for W click.
[0177]
FIG. 27 is a flowchart showing details of the column name list control W click processing routine in step S209 of the flowchart of FIG.
This column name list control W click processing routine performs processing when a plurality of column names are selected on the column name list control 301, and the column in which the column name is clicked on the column name list control 301 as an argument. Receive the column number.
[0178]
This routine starts with ColCtrl. Start and ColmCtrl. The values of End are compared (step S241). As a result, ColmCtrl. Start ≦ ColmCtrl. In the case of End, ColCtrl. The value of Start is changed to ColCtrl. The value of End is set (step S242). On the other hand, ColmCtrl. Start> ColmCtrl. In the case of End, ColCtrl. The value of End is set to ColCtrl. A value of Start is set (step S243).
[0179]
The processes in steps S241 to S243 are processes assuming that the direction of the drag operation on the column name list control 301 is from left to right or from right to left, and the column name is set to C0 by the process in step S242 or S243. The column number of the leftmost column selected by the drag and drop operation on the list control 301 is set in C1, and the column number of the right end selected by the drag and drop operation on the column name list control 301 is set in C1. C0 <C1).
[0180]
Next, it is determined whether or not the condition that the “column number” received as an argument is C0 or more and C1 or less is satisfied (step S244). If the determination result is “True” (satisfying the condition), the process proceeds to step S245. If the determination result is “False” (not satisfying the condition), the process proceeds to step S254. The process of step S244 is a process of determining whether the column name that has been W-clicked on the column name list control 301 is the selected column name. By this process, when a column name other than the column name selected on the column name list control 301 is clicked, the operation is invalidated.
[0181]
In step S245, the value of C0 is substituted for variable C (step S245), and then ColmStTbl [C]. ShowFlgW is determined (step S246). Then, ColmStTbl [C]. If ShowFlgW is “True”, then ColmStTbl [C]. ShowFlgW is set to “False” (step S247). On the other hand, ColmStTbl [C]. If ShowFlgW is “False”, then ColmStTbl [C]. ShowFlgW is set to “True” (step S248).
[0182]
The processing in steps S247 and S248 is performed by using ColmStTbl [C] .C of the column selected on the column name list control 301. This is a process of inverting the true / false value of ShowFlgW. By this inversion processing, the display designation of the selected column is changed from “display” to “non-display” or from “non-display” to “display”.
[0183]
After the process of step S247 or step S248, the value of C is incremented by “1” (step S249), and then the values of C and C1 are compared (step S250). If C ≦ C1, the process returns to step S246.
[0184]
In this way, the loop processing of steps S246 to S250 is repeated, and ColmStTbl [C]. Inverts the truth value of ShowFlgW.
[0185]
When the reversal processing and the like are completed, if it is determined in step S250 that C> C1, then C0 and GridCscr1 are compared (step S251). If C0 ≧ GridCscr1 is set, the value of C0 is set in Cno (step S252). If C0 <GridCscr1 is set, the value of GridCscr1 is set in Cno (step S253).
[0186]
As a result, the column number of the column to be drawn at the left end of the scroll item drawing area 223 of the logical view area 220 is set to Cno. That is, when the leftmost column selected on the column name list control 301 is a column within the display range, the column number of that column is set in Cno, but when the column is outside the display range Is set to Cno as GridCscr1 (the column number of the column currently displayed at the left end specified by the jump scroll operation). Note that this is just one example, and another example is possible.
[0187]
Next, the above-described W click column display switching method of FIGS. 25 and 26 is called with Cno as an argument (step S254). As a result, the display data of the columns after the leftmost column selected by the W click operation and designated for display within the display range (Columns where ColmStTbl [C] .ShowFlgW is “True”) are displayed. Are drawn in the scroll item drawing area 223 of the logical view area 220 only. Then, the columns after the leftmost column selected by the W click operation, and even in the display range, the column designated as non-display (ColmStTbl [C] .ShowFlgW is “False”. Display data in a certain column) is not drawn. As a result, among the columns that were within the display range, the columns that were designated to be hidden from the display designation disappeared from the screen, and conversely, the columns that were designated to be hidden from the designation of display are redisplayed. In this case, the columns are displayed left justified.
[0188]
If the display / non-display designation is changed only to the left column from the display range, the table display is not changed, and the display form of the column name list control 301 is changed. It only changes according to the result (only the display color of the column name of the column whose display / non-display designation has been changed is changed).
[0189]
Following step S254, the above-described display area determination routine of the column in FIG. 15 is called (step S255). As a result, ColmStTbl [C]. DispAreaFlg is set. That is, ColmStTbl [C]. ShowFlgW and ColmStTbl [C]. ShowFlgS is examined and ColmStTbl [C]. Of the scroll column within the display range. DispAreaFlg is set to “True”. That is, a new display range is set.
[0190]
Subsequently, the existing selection cancel routine of FIG. 19 described above is called (step S256). As a result, ColmStTbl [C]. SelectAreaFlag is set to “False”. That is, the currently selected column is canceled.
[0191]
Next, the above-described column name list control display routine of FIG. 16 is called (step S257). Thereby, for example, a screen 500 as shown in FIG. 30 is displayed. The screen 500 is displayed when “gross profit” and “gross ratio” are set to “hidden” in the initial screen 300 of the table of FIG. 28 by the mouse drag and drop operation and W click similar to the operation shown in FIG. This is a screen 500 displayed on the screen.
[0192]
In this case, as shown in FIG. 30, on the screen 500, the “gross profit” and “gross rate” columns disappear from the display of the table on the initial screen 300, and the “purchase number” column is followed by “ The columns after “Stock Number” are displayed. In accordance with such a change in the display of the table, the display form of the column name list control 301 also changes. That is, the display of “gross margin” and “gross margin” changes from black characters to white characters. Also, on the screen 500, since the columns from “sales” to “March” are displayed in the scroll area of the table and the display range has changed, the upper and lower frames of the column name list control 301 are displayed. The solid line display is extended from the “product name” to the column name “March”.
[0193]
Therefore, the user browses the display of the column name list control 301 on the screen 500, and is not displayed on the screen, but actually, between the “number of purchases” and “stock quantity” columns, It can be recognized from the display form of the column names that there are “Rice” and “Roughness”. Further, from the display form of the frame line, it can be immediately known that “02 month” and “01 month” are partially displayed or not displayed on the screen 500.
[0194]
On the screen 500, the “gross profit” and “gross profit” and “gross profit” column names on the column name list control 301 on the initial screen 300 are again performed by dragging the mouse and performing a W click operation. The “roughness ratio” column is designated as “display” again, and the display on the display device 90 is switched from the screen 500 to the screen 300.
[0195]
As described above, in this embodiment, by performing a mouse drag operation and a W click operation on the column name list control 301, a plurality of consecutive columns are changed from “display” to “hide” at a time, or It can be changed from “non-display” to “display”. In addition, by directly W-clicking a single column name on the column name list control 301 without dragging, it is possible to designate display / non-display of a single column.
[0196]
FIG. 31 is a block diagram showing a hardware configuration of a computer 600 that implements the above embodiment.
The computer 600 includes a CPU 601, a ROM 602, a RAM 603, an external storage device 604, a recording medium driving device 605, an input / output device 607, and a communication interface 608 connected to the CPU 600 via a bus 609.
[0197]
The CPU 601 can access each of the components 602 to 608 via the bus 609 and controls the entire system. A program that implements the algorithm of the embodiment of the present invention is stored in, for example, the ROM 602, the external storage device 604, or the portable recording medium 606.
[0198]
The program stored in the ROM 602 or the external storage device 604 is expanded on the RAM 603 in a format that can be executed by the CPU 601 and executed by the CPU 601. The program stored in the portable recording medium 606 is read by the recording medium driving device 605 when the portable recording medium 606 is mounted on the recording medium driving device 605, and the CPU 601 stores the program on the RAM 603. It is expanded into an executable format and executed by the CPU 601.
[0199]
The program may be held by an information provider 800 connected to the computer 600 via the network 700. In this case, the communication interface 700 is connected to the information provider 800 via the network 400. The stored program is downloaded to the external storage device 604. The program downloaded to the external storage device 604 is executed by the CPU 601 by the method described above.
[0200]
The input / output device 607 corresponds to the input device 90 and the display device 80 in FIG. 1, and a user inputs a command for initial display of a table on the display screen of the input / output device 607 and a table column displayed on the screen. This is used for a mouse operation or the like for the name list control 301. In addition, a table is displayed according to the mouse operation or the like.
[0201]
The external storage device 604 corresponds to the external storage device 110 in FIG. The RAM 603 corresponds to the table information table 10, the display memory 30, the display attribute table 40, the column width information table 50, the column name list data buffer 60, and the like in FIG. In the RAM 603, registers 71 to 74, a work area for the CPU 601, and the like are secured.
[0202]
If the information provider 800 includes a computer that can execute the program and an external storage device that stores the table information table 10, the user can remotely execute the program from the input / output device 607. It is also possible to remotely execute the above program on a computer owned by the information provider 800 via the communication interface 608 and the network 700 by inputting a command for executing the command. In this case, the display data of the table and column name list control 301 obtained by the computer owned by the information provider 800 can be received by the computer 600 via the network 700 and the communication interface 608. The displayed data is displayed from the input / output device 607 in a format that can be viewed by the user.
[0203]
The portable recording medium 606 is a floppy disk, CD-ROM, CD-RAM, various standards DVD, magneto-optical recording or phase change type optical disk, IC card, or the like. The external storage device 604 is a hard disk, a disk array, or the like. The input / output device 607 is a pointing device such as a keyboard or a mouse, and a thin display such as a CRT display, a liquid crystal display, a plasma display, or an organic EL (Electro Luminescence) display.
[0204]
The network 700 is a LAN, MAN, WAN, the Internet, or the like.
In the above-described embodiment, the operation target is a column. However, the present embodiment can be applied to realize a row display suppression or a row jump scroll operation. In this case, the row name list control is displayed as corresponding to the column name list control 301. In a hierarchical table with a large number of rows, such as a bundling table, the names of all items are displayed for items in the upper layer such as large items and medium items, and lower layers such as small items. For the item, only the representative item name (for example, the top item name) may be displayed on the line name list control.
[0205]
In this embodiment, the column name list control 301 is displayed on one line. However, the number of rows of the column name list control 301 may be changed as appropriate according to the number of columns in the table. Even in this case, it is preferable that the display order of the column names correspond to the order of the columns in the table. Further, when selecting a plurality of columns, a plurality of discrete column names may be selected instead of a plurality of consecutive columns. The present invention can also be applied to tree structure display references that do not fit on one screen, such as file directories. In this case, for example, a list of each hierarchy name is displayed, and the hierarchy name is selected.
[0206]
In the present embodiment, the display format of the table can be changed by designating the non-display of the column, so that the original table can be processed on the screen to create a table of various formats. Therefore, it is possible to adopt a configuration in which the table obtained by this processing can be stored. Implementation of the various modifications as described above can be easily conceived by those skilled in the art from the present embodiment.
[0207]
【The invention's effect】
According to the first aspect of the present invention, when displaying table data composed of a plurality of columns, a list of all column names of the table data is displayed on the same screen in parallel with the display of the table data. Thus, column names that are not displayed on the display screen can be confirmed on the column name list on the same screen as the table data. That is, it is possible to intuitively grasp the entire configuration of the table simply by looking at the display of the column name list. And since all the column names that are displayed as the table data on the screen and the column names that are not displayed are also displayed in the column name list, the column to be scrolled including the columns that are not displayed on the screen is specified. It is possible to confirm and change the scrolling column reliably and quickly. Further, as a result of the scroll display, it can be intuitively confirmed on the list of column names on the same screen as the table data whether or not all columns of the table data are displayed on the screen.
According to the second aspect of the present invention, when displaying table data composed of a plurality of columns, all the column names of the table data are displayed on the same screen in parallel with the display of the table data. The column names that are not displayed on the screen are displayed on the same screen as the table data by displaying the list in the horizontal direction in such a way that the columns that are displayed and the columns that are specified to be hidden can be identified. It can be confirmed intuitively on the column name list. That is, by simply looking at the column name list, it is possible to intuitively grasp the overall configuration of the table data and whether or not each column constituting the table data is displayed based on the difference in display form. In addition, by specifying one or a plurality of column names on the column name list, the display / non-display state of the column of the table data can be changed for the specified column name, so that the user can perform a simple and speedy operation. Thus, the column display state of the table data can be controlled as desired.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the overall configuration of a system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a data structure of a display attribute table.
FIG. 3 is a diagram illustrating a data structure of a column width information table.
FIG. 4 is a diagram illustrating a data structure of a column name list data buffer.
FIG. 5 is a conceptual diagram illustrating a table drawing method using a physical view area and a logical view area.
FIG. 6 is a flowchart illustrating an overall operation of the present embodiment.
FIG. 7 is a diagram for explaining an operation method for selecting a plurality of column names on the column name list control and designating display / non-display of columns of those column names.
FIG. 8 is a diagram illustrating a display form of a column name list control when display of columns outside the display range is suppressed.
FIG. 9 is a flowchart for explaining jump scroll processing;
FIG. 10 is a flowchart for explaining column display / non-display processing;
11A is a flowchart for explaining initialization processing for the entire display attribute table, and FIG. 11B is a diagram showing a data structure of the display attribute table for each column.
FIG. 12 is a flowchart (No. 1) for explaining an S click column display switching method;
FIG. 13 is a flowchart (No. 2) for explaining the S-click column display switching method;
FIG. 14 is a diagram illustrating 1-cell drawing.
FIG. 15 is a flowchart illustrating a column display area determination routine;
FIG. 16 is a flowchart for explaining a column name list control display routine;
FIG. 17 is a flowchart for explaining a column name list control column unit display routine;
FIG. 18 is a flowchart illustrating a mouse button processing routine.
FIG. 19 is a flowchart illustrating an existing selection cancel routine.
FIG. 20 is a flowchart illustrating a display attribute table selection clear routine.
FIG. 21 is a flowchart illustrating a mouse button & mouse move processing routine.
FIG. 22 is a flowchart illustrating a column name list selection display routine.
FIG. 23 is a flowchart illustrating a mouse button up processing routine.
FIG. 24 is a flowchart illustrating a mouse W click processing routine.
FIG. 25 is a flowchart (No. 1) for explaining a W-click column display switching method;
FIG. 26 is a flowchart (part 2) for explaining the W click column display switching method;
FIG. 27 is a flowchart for explaining a column name list control W click processing routine;
FIG. 28 is a diagram showing an initial screen.
FIG. 29 is a diagram showing a screen displayed when a jump scroll operation is performed by designating “number of months of inventory” on the column name list control in the initial screen of FIG. 28;
30 is a diagram showing a screen displayed when “gross margin” and “gross margin” are selected on the column name list control and a W-click operation is performed on the initial screen of FIG. 28. FIG.
FIG. 31 is a block diagram illustrating a hardware configuration of a computer that implements an embodiment of the present invention.
FIG. 32 is a diagram showing a display format of a conventional binding table.
[Explanation of symbols]
10 Table information table
11 Table data storage
13 Table row count storage
15 Table column number storage
20 Table data generator
30 display memory
31 column header buffer
32 Data line buffer
40 Display attribute table 40
50 column width information table
60 Column name list data buffer
70 Display controller
71 Last column number setting register of table
72 Effective scroll width register
73 Scroll start column number setting register
74 Current scroll region leftmost column number setting register
80 Display device
90 Input device
100 Scroll control unit
101A, 101B, 101C Column name list display
103U scroll up button
103D Scroll down button
105L Left row scroll button
105R Right column scroll button
111 Current display first line counter
113 Fixed part
115 Scroll part
210 Physical View Area
211 Fixed item drawing area
211D display area
213 Scroll item drawing area
213D display area
220 Logical View Area
221 Fixed item drawing area
223 Scroll item drawing area

Claims (4)

各列が列名を有する複数列から構成される表を表データとして記憶する表データ記憶手段と、
前記表データから前記表データの全ての列名を抽出して、この列名を記憶する列名抽出手段と、
前記抽出された全ての列名を列名一覧として前記表データと並列的に同一画面上に表示する表示手段と、
表示された前記列名一覧の中から、前記表データのスクロール列を指定するスクロール列指定手段と、
前記表データのうち、指定された前記スクロール列の前記表データを画面上の所定の位置からスクロール制御して前記表示手段へ表示するスクロール制御手段と、
スクロール表示の設定をされた前記表データの列が前記画面上に全て表示されるか否かを判別する判別手段と、
前記判別手段による判別結果が識別可能な形態となるよう制御して前記列名一覧を前記表示手段へ表示する列名一覧制御手段と、
を備えたことを特徴とする表の表示制御装置。
Table data storage means for storing a table composed of a plurality of columns each having a column name as table data;
Column name extraction means for extracting all column names of the table data from the table data and storing the column names;
Display means for displaying all the extracted column names on the same screen in parallel with the table data as a column name list;
From the displayed column name list, scroll column specifying means for specifying a scroll column of the table data,
Scroll control means for performing scroll control from a predetermined position on the screen and displaying on the display means the table data of the specified scroll row of the table data;
A discriminating means for discriminating whether or not all the columns of the table data set for scroll display are displayed on the screen;
Column name list control means for displaying the column name list on the display means by controlling the discrimination result by the discrimination means to be in an identifiable form;
A table display control apparatus comprising:
各列が列名を有する複数列から構成される表を表データとして記憶する表データ記憶手段と、
前記表データから前記表データの全ての列名と、列名毎に表示または非表示の状態を設定する設定情報とを抽出して記憶する列名抽出手段と、
前記抽出された全ての列名を前記設定情報に基づいて各列毎に表示または非表示が識別可能な形態で列名一覧として前記表データと並列的に、且つ、この列名を横方向に前記表データと同一画面上に表示する表示手段と、
表示された前記列名一覧の中から、1または複数の列名を選択して各列毎に表示または非表示の状態を指定する表示列指定手段と、
前記表示列指定手段の指定に従って、前記列名一覧の各列毎に表示または非表示の状態を設定する前記列名抽出手段の設定情報を更新し、その設定情報に基づいて前記表データのうち、表示の状態を設定された列のデータを前記表示手段へ表示するように制御する列表示制御手段と、
を備えたことを特徴とする表の表示制御装置。
Table data storage means for storing a table composed of a plurality of columns each having a column name as table data;
Column name extraction means for extracting and storing all the column names of the table data from the table data, and setting information for setting a display or non-display state for each column name;
All the extracted column names are displayed in parallel with the table data as a column name list in a form in which display or non-display can be identified for each column based on the setting information, and the column names are displayed in the horizontal direction. Display means for displaying on the same screen as the table data;
Display column designation means for selecting one or more column names from the displayed column name list and designating a display or non-display state for each column;
In accordance with the designation of the display column designation means, update the setting information of the column name extraction means for setting the display or non-display state for each column of the column name list, and based on the setting information, Column display control means for controlling the display means to display the data of the columns whose display state is set;
A table display control apparatus comprising:
前記表示手段は、前記表データの各列毎に前記画面上の表示範囲内または表示範囲外かが識別可能な形態となるように前記列名一覧の表示形態を制御する
ことを特徴とする請求項記載の表の表示制御装置。
The display means controls the display form of the column name list so that each column of the table data can be identified as being in the display range on the screen or outside the display range. Item 3. A table display control device according to item 2 .
コンピュータに
各列が列名を有する複数列から構成される表データとから前記表データの全ての列名と、列名毎に表示または非表示の状態を設定する設定情報とを抽出する機能と、
前記抽出された全ての列名を前記設定情報に基づいて各列毎に表示または非表示が識別可能な形態で列名一覧として前記表データと並列的に、且つ、この列名を横方向に前記表データと同一画面上に表示する機能と、
表示された前記列名一覧の中から、1または複数の列名を選択して各列毎に表示または非表示の状態を指定する機能と、
前記表示列指定手段の指定に従って、前記列名一覧の各列毎に表示または非表示の状態を設定する前記列名抽出手段の設定情報を更新し、その設定情報に基づいて前記表データのうち、表示の状態を設定された列のデータを前記表示手段へ表示するように制御する機能とを、
実現させるための表示制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
A function for extracting all column names of the table data and setting information for setting a display or non-display state for each column name from table data including a plurality of columns each having a column name in a computer; ,
All the extracted column names are displayed in parallel with the table data as a column name list in a form in which display or non-display can be identified for each column based on the setting information, and the column names are displayed in the horizontal direction. A function to display on the same screen as the table data;
A function of selecting one or a plurality of column names from the displayed column name list and designating a display or non-display state for each column;
In accordance with the designation of the display column designation means, the setting information of the column name extraction means for setting the display or non-display state for each column of the column name list is updated, and the table data based on the setting information is updated. A function for controlling the display means to display the data of the column whose display state is set,
A computer-readable recording medium on which a display control program for realizing is recorded.
JP21427999A 1999-07-28 1999-07-28 Table display control device and recording medium recording table display control program Expired - Fee Related JP3744270B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21427999A JP3744270B2 (en) 1999-07-28 1999-07-28 Table display control device and recording medium recording table display control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21427999A JP3744270B2 (en) 1999-07-28 1999-07-28 Table display control device and recording medium recording table display control program

Publications (2)

Publication Number Publication Date
JP2001042854A JP2001042854A (en) 2001-02-16
JP3744270B2 true JP3744270B2 (en) 2006-02-08

Family

ID=16653110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21427999A Expired - Fee Related JP3744270B2 (en) 1999-07-28 1999-07-28 Table display control device and recording medium recording table display control program

Country Status (1)

Country Link
JP (1) JP3744270B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070029104A (en) * 2003-09-22 2007-03-13 코닌클리케 필립스 일렉트로닉스 엔.브이. Navigation through the hierarchical data structure displayed
JP2010160824A (en) * 2010-04-26 2010-07-22 Fujifilm Corp Medical examination support device and examination list display method
JP6146564B2 (en) 2013-07-22 2017-06-14 ブラザー工業株式会社 Printed material creation processing program and printing apparatus
JP2016143203A (en) * 2015-01-30 2016-08-08 富士フイルム株式会社 Medical examination support device, operation method and operation program of the same, and medical examination support system
JP6313717B2 (en) * 2015-01-30 2018-04-18 富士フイルム株式会社 Medical support device, operating method and program for medical support device, and medical support system
US10684742B2 (en) 2015-01-30 2020-06-16 Fujifilm Corporation Medical support apparatus, method and system for medical care
JP6505920B2 (en) * 2018-06-01 2019-04-24 富士フイルム株式会社 Medical care support device, method and program for operating medical care support device, and medical care support system

Also Published As

Publication number Publication date
JP2001042854A (en) 2001-02-16

Similar Documents

Publication Publication Date Title
US11132820B2 (en) Graph expansion mini-view
JP4880334B2 (en) Scrollable and resizable formula bar
US8060822B2 (en) System and method for creation of an object within an object hierarchy structure
US8667419B2 (en) Method and apparatus for displaying a menu for accessing hierarchical content data including caching multiple menu states
US7181699B2 (en) Dynamic resizing of dialogs
JP4602487B2 (en) Method and computer controlled graphic display system for creating and manipulating groups of graphic objects
US6133915A (en) System and method for customizing controls on a toolbar
US8281238B2 (en) System, method and computer program for creating and manipulating data structures using an interactive graphical interface
CN105339931B (en) Method and apparatus for processing data containers
US20050007383A1 (en) System and method of visual grouping of elements in a diagram
US7334194B2 (en) Text editing apparatus
JP3744270B2 (en) Table display control device and recording medium recording table display control program
US7757179B2 (en) Display method, computer program product and computer system
JP4207910B2 (en) Table display control device, table display control method, and recording medium recording program
US20240037124A1 (en) Transforming data visualizations during page transitions
JP2001005900A (en) Table display control device and recording medium storing table display control program
JPH0935083A (en) Animation editing equipment
JP2005267651A (en) Table display control device, table display control method, and storage medium storing table display control program
JP2000293154A (en) Table display control device and method, and storage medium storing the program
JPH08147137A (en) Multiwindow controller
HK1167722A (en) Scrollable and re-sizeable formula bar
HK1167721A (en) Scrollable and re-sizeable formula bar

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: 20050413

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: 20050708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051114

R150 Certificate of patent or registration of utility model

Ref document number: 3744270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131202

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees