JP2008522288A - テーブル形式のデータを表示する方法 - Google Patents
テーブル形式のデータを表示する方法 Download PDFInfo
- Publication number
- JP2008522288A JP2008522288A JP2007543477A JP2007543477A JP2008522288A JP 2008522288 A JP2008522288 A JP 2008522288A JP 2007543477 A JP2007543477 A JP 2007543477A JP 2007543477 A JP2007543477 A JP 2007543477A JP 2008522288 A JP2008522288 A JP 2008522288A
- Authority
- JP
- Japan
- Prior art keywords
- column
- cell
- data
- sub
- width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
データを、カラム、列、及び当該カラムと列とで規定される複数のセルとを有するテーブルとして表示する方法及びコンピュータ実行可能なプログラムコードである。上記方法は、一方が他方の上側に位置するように、または隣り合うように配置された第1及び第2サブテーブルを作成するステップを含む。上側のサブテーブルはスクロールできない固定ヘッダとして規定され、一方下側のテーブルはスクロール可能なデータテーブルとして規定される。上側のテーブルは、可視部位と隠し部位とを含み、隠し部位は、各個のカラムに対応する上側または下側のテーブルにおける最大幅のセルからコピーした記録を含む。固定のサイドバーを形成するために、上記コンピュータ実行可能なプログラムコードは、列における高さが最大のセルのパラメータに基づいて、その列の高さを調節する。
Description
〔テーブル形式のデータを表示する方法の関連出願の参照〕
本出願は、2004年11月26日に提出した出願番号60/631,152の仮出願で、タイトルが「ウェブページにおいて動かないヘッダ(Stationary Header)を備えるデータテーブルを生成する方法」の出願を基礎としている。これにより、優先権を主張し、その開示されている全てはここに示す参照に含まれる。
本出願は、2004年11月26日に提出した出願番号60/631,152の仮出願で、タイトルが「ウェブページにおいて動かないヘッダ(Stationary Header)を備えるデータテーブルを生成する方法」の出願を基礎としている。これにより、優先権を主張し、その開示されている全てはここに示す参照に含まれる。
〔発明の背景〕
テーブルのデータを読みやすい形式で表示することは、インターネットやウェブページの開始以来、常に求められてきた。ウェブページの製作者が、複数の列からなるデータ、例えば20,50,100の列や、より多くの列を表示する必要があるとき、各データ列のカラムのヘッダやラベルは、「固定されている」か「動かない」ことが極めて望ましい。これは、ユーザやブラウザの使用者が、テーブルの上部に位置するカラムのヘッダやラベルを見ることができる状態を保ちつつ、列のデータを下側へとスクロールできるからである。ブラウザは、公知のプログラムのどのようなものでも構わない。例えば、Microsoft Internet Explorerや、Mozilla、Apple Safari、Opera、Firefoxや、これらに類するものが挙げられる。
テーブルのデータを読みやすい形式で表示することは、インターネットやウェブページの開始以来、常に求められてきた。ウェブページの製作者が、複数の列からなるデータ、例えば20,50,100の列や、より多くの列を表示する必要があるとき、各データ列のカラムのヘッダやラベルは、「固定されている」か「動かない」ことが極めて望ましい。これは、ユーザやブラウザの使用者が、テーブルの上部に位置するカラムのヘッダやラベルを見ることができる状態を保ちつつ、列のデータを下側へとスクロールできるからである。ブラウザは、公知のプログラムのどのようなものでも構わない。例えば、Microsoft Internet Explorerや、Mozilla、Apple Safari、Opera、Firefoxや、これらに類するものが挙げられる。
ヘッダの列をページの上部に静止した状態で残したまま、ユーザがテーブルのカラムに対して垂直にスクロールすることを許すプログラムも存在する。その例の1つが、ウインドウズに準拠するプログラムであり、計算に広く用いられているMicrosoft Excelである。しかしながら、Microsoft Excelは、インターネットのウェブページでデータを表示するのに適したアプリケーションであるHTML(Hyper Text Markup Language)やCSS(Cascading Style Sheet)を用いる、伝統的なウェブページ(traditional Web Page)ではない。なお、Microsoft Excelのスプレッドシート(spreadsheet)は、ブラウザで閲覧することができるが、これも、HTMLやCSSを使用している一般的なウェブページではなく、Microsoft Excelは、使用方法及び使用可能な範囲に多くの制限を有している。
動かないヘッダを有するウェブページを作成する試みはずっと続けられてきた。その中には、1つの列を含む上側のテーブルを備えた2つのHTMLテーブルを用い、各カラムの幅が、データを格納している下側のテーブルのカラムの幅と合うようにするために、各カラムの「幅」、及び/または、そのテーブルが属するピクセル、または割合が達する程度、を設定する。この方法の欠点は、各カラムに設定する正しい幅を決定することが難しいと感じる者が居る点である。ピクセルであれ、割合であれ、幅の設定を固定値に設定した場合、最初に幅の設定がなければ、上側のテーブルとそのカラムは、「自然に変形(flow)」したり、縮んだり、幅が広がったりすることが、容易にはできなくなる。さらに、データがデータベース由来のものである場合、データも同様に絶えず変化し得る。ゆえに、上側のテーブルにおけるカラムの幅が、表示するデータとヘッダに対して大きすぎたり小さすぎたりすることが起こり得る。
テーブルにおいて、動かないヘッダを表示する他の方法としては、HTML FRAMESとIFRAMEとを用いる方法がある。ウェブページにFRAMESを用いることの欠点を列挙しているウェブサイトは極めて多い。欠点には、ブックマークや印刷を行うことが難しい点が挙げられる。また、「きれいな(clean)」レイアウトと追加のスクロールバーを必要とする点も欠点である。さらに、HTML FRAMESやIFRAMEを用いたウェブページは、設計や維持が難しい点も欠点である。
さらに、問題を複雑にしているのは、複数ブラウザで稼動する、動かないヘッダ表示方法が強く望まれていることである。ブラウザ間で適合できるようにすることは、動かないヘッダを用いない場合でも、達成することが極めて難しい。そして、さらに問題を複雑にしているのは、各ブラウザは、使用されるブラウザに依存しており、個人がそのブラウザにおけるテキストサイズを設定したり、無効にしたりできるテキストサイズ設定を持っていることである。これにより、ウェブプログラマーやウェブ開発者、ウェブデザイナーがあるデータにフォントの設定を行った場合であっても、個人のユーザが、彼らが使用しているブラウザに依存して、彼らが所望するフォントサイズでウェブページを閲覧できるように上記設定を再設定することが可能なのである。
ウェブページにおける固定されたヘッダを有するテーブルを設計するときに考慮すべき因子は数多い。以下に、これらの因子のいくつかを列挙する。
1.固定されたヘッダを有するテーブルは、一般的に、いくつかの種類のデータベースに記録されたデータを表示するために使用される。このようなデータは、常に変化し得る。ゆえに、<td>の幅を設定することは、非常に困難である。
2.ヘッダ情報の列の文字、そしてフォントサイズ及び線の太さ(例えば太線)もまた変化し得る。これは、カラムの配列にも影響を与える。
3.データセルの中に画像も配置することができる。このことも考慮する必要があり、考慮していない場合には、配列が悪くなる。
4.画像は、ヘッダ内に配置することができる(例えば分類の説明)。上記と同様に、このことを考慮していない場合には、カラムが一直線に並ばなくなる。
5.ブラウザのバージョンや種類によって、データは異なって表示されることがある。ささいな差異であっても、カラムが一直線に並ばなくなる原因となり得る。
6.ユーザのブラウザウインドウのサイズは、データの表示に影響を与える。ウインドウのサイズを小さく、あるいは大きくしているユーザは、データの表示に影響を与える。ブラウザが最大化されている場合には、このことが配列に影響を与え得る。
7.文字サイズの設定といったその他のブラウザ設定もまたカラムの配列に影響を与える。文字サイズの設定は、個人によって行われ、カラムの配列に影響を及ぼしやすい。各ブラウザのHTMLフォントユニットタイプの宣言(HTML font unit type declaration)の実行もまた異なっている。すなわち、あるブラウザで調整できるフォントユニットのサイズは、他のブラウザでは文字の調整ができない。例えば、IEの文字サイズの調整では、ピクセル(px)のユニットサイズに用いられるフォントサイズの調整を行うことはできない。しかしながら、MozillaやOperaといったブラウザでは、ユーザがピクセルのフォントユニットタイプの調整を行うことができる。本方法(instant method)は、これらの中でいくつかの利点を与える。
1.多くのユーザは、彼らのコンピュータに未知のプログラムをダウンロードすることに対して慎重である(ウイルスやスパイウェアのため)から、ユーザがプラグインを使用したり、プログラムをダウンロードしたりせずに済むようにする。
2.システムの応答の向上、及び/またはウェブサーバとユーザのコンピュータとのパフォーマンスの向上のため、ウェブページあたりのデータ及び/またはコードのダウンロードを最小化する。
3.固定されたヘッダのコードをより多くのユーザに、及び/またはより早く提供するために、ウェブサーバのCPUの負荷を最小化する。
プラグインのフラッシュのように、ヘッダが固定のテーブルを実行可能なプログラムは存在する。しかしながら、これは、通常のHTMLにはなく、それゆえに、まずフラッシュと共に動作する他のオーサリングツールが必要となる。この点に関して、フラッシュは遅れていると報告されている。さらに、ウイルスやスパイウェアが存在することにより、インターネットからコンピュータに何かをダウンロードすることは危険を伴う。ActiveX、Java Appletsのようなプログラムは、ハッカーがユーザのコンピュータを感染させる際によく用いられる。そのため、ユーザは、そのようなプログラムを拒否するセキュリティの設定を行い、上記のようなプログラムがコンピュータにインストールされることを防ぐ市販の保護ソフトウェアを購入したりもする。
Microsoft Excelがブラウザで閲覧可能であることは知られている。しかしながら、あるエクセルのページのみが表示されることは好ましくない。さらに、エクセルのファイルは、ウイルスやスパイウェアを運ぶことができるので、ハッカーは、その活用方法を知っている。加えて、同様のことができるものにJava言語があるが、これもまた、安全な言語として受け入れられており、ユーザのコンピュータにはじめから入っている、通常のHTMLやCSS及びJavaScriptではない。
ウェブページのソフトウェアには、ヘッダのカラムを「ダブルクリック」することにより、そのカラムを適当なサイズに自動変更する機能を有するものもある。このステップが追加されることによって比較的簡単な仕事が複雑になるので、有益ではない場合がある。このステップを許すウェブページは、JavaScriptに大きく依存しており、事実上、HTMLには依存していない。そのようなページは、ユーザのブラウザにロードする時間がかかり、「重い」感じを与える。確認していないが、このステップは、Macintoshでは動作しないと思われる。これは、そのようなプログラムで使用されるJavaScriptは、かなり精巧で複雑であるからである。すなわち、異なるブラウザ間で異なる効果が生じうるJavaScriptでは、ブラウザ間での互換性を達成することが難しいということになる。
ヘッダが固定されたテーブル(あるいはデータグリッド(datagrid))を作成する際には、これらの因子及びその他の因子を考慮すべきである。これらの因子の1つでも、それがどんな小さなことであっても、誤った配列の原因となり得る。それゆえ、ウェブページというものが始まってから今に至るまでの間には、製品としての品質レベルで使用できる固定されたヘッダは達成されていない。製品品質のヘッダが固定のテーブルは、一般に普及しているブラウザの大半(例えば99%)で使用可能であるべきであり、表示されているデータと同様に、ユーザの多くの設定に適応することができる。
本発明は、従来の方法における欠点を解消し、テーブルにおいて、一番目の水平方向の列が動かない状態のまま、ユーザがカラムを垂直方向にスクロールすることができるデータ表示方法を提供することを意図している。インターネットに接続する全ての人は、ほぼ全てのブラウザで、本発明の方法によって設計されたヘッダが固定のテーブルにアクセスすることができるだろう。
〔発明の要約〕
このように、本発明の目的は、テーブル形式のデータを表示する方法を提供することである。
このように、本発明の目的は、テーブル形式のデータを表示する方法を提供することである。
本発明の他の目的は、1番目の水平列のデータが動かない状態を保った状態でウェブページにテーブル形式のデータを表示する方法を提供することである。
本発明におけるこれらの目的及びその他の目的は、ヘッダが「固定された位置」に残っている状態で、テーブル化されたデータを表示する方法を提供することによって達成される。同時に、データテーブルは、ヘッダの配列が残った状態で垂直にスクロールすることができる。上側のテーブルのヘッダ列は、下側のデータテーブルにおける、下側のデータカラムに対応する小見出しのカラムを複数含んでいてもよい。この方法によれば、ヘッダテーブルは、少なくとも2つの列を含み、下側のデータテーブルも少なくとも2つの列を含む。上側のヘッダテーブルにおける1つの列は、閲覧可能なヘッダテキストを含み、これを表示する。2番目の「隠し」列は、プレースホールダーテキスト(placeholder text)またはそれぞれが対応するヘッダカラムの幅を自動的に設定するHTMLを含む。各「隠し」列のヘッダカラムにおける、プレースホールダーテキストまたはhtmlは、各データセルの最大の幅を計算し、下側のデータテーブルにおいて、それに対応するテキストまたはHTMLを計算することで決定される。その対応するカラムにおける最大の幅を含むセル内の上記テキストあるいはHTMLは、その後隠しヘッダ列のセルにおけるプレースホールダーとして用いられる。隠し列及びセルは、そのセルがユーザに見えないようにする補助として、CSSを用いる。
隠し列に含める必要がある画像がある場合、これらの画像の高さは、より小さな値に設定される。例えば、高さ=0や、高さ=1、高さ=2等である。これにより、隠し列は、オリジナルの幅を保ったまま、高さが低くなる。加えて、他のCCS法では、隠し列や隠しセルに「hidden」という目に見えるプロパティを設定している。データテーブルのスクロール可能な部分は、DIVタグを用いて製作されており、このDIVタグのCSSの属性をスクロールバーが表示されるような値に設定している。CSSの属性値は、典型的なものとして、高さ、オーバーフロー、オーバーフローX(overflow-x)、オーバーフローY(overflow-y)等がある。このような情報は、プログラム経由で、あるいは直接ウェブページで設定することができる。
上側のヘッダカラムのそれぞれにおけるテキストやHTMLの幅は、各カラムについて、下側のデータテーブルの幅と比較される。上側のヘッダテーブルにおけるセルのテキストやHTMLの幅が、下側のデータテーブルの対応するいかなるセルよりも広い場合には、他の隠し列が下側のデータテーブルに追加される。下側のデータテーブルにおけるこの「隠し」列は、下側のデータテーブルのカラムが自動的に上側のヘッダテーブルのカラムと同じ幅にサイズ変更されるように、ヘッダテーブルのHTMLまたはテキストに対応するものを含んでいる。これら2つのテーブル、上側のヘッダと下側のデータとは、データまたはヘッダラベルを交換し、それらをそれぞれのカラムや列における「隠し」に配置する。これらの隠し列には、CSSのプロパティや、例えば「visibility:hidden」や、「display:none」等の値を利用して「入れ替え」のデータやヘッダラベルのコピーを隠す。さらに、「入れ替え」のデータやヘッダラベルのコピーは、そのデータやヘッダラベルそのもののコピーでなくてもよく、相対するテーブル、例えば上側のヘッダテーブルと下側のデータテーブルの対応するカラムの幅と合うHTMLやテキストであればよい。
本方法においても、下側のデータテーブルの各セルにおけるテキスト及び/またはHTMLの幅を決定する。特に、テキストは、固定された幅を有していないCourierのようなものでなければ、異なるタイプのプロポーショナルフォント、例えばArial、Times等を用いてもよい。上記方法では、1つのセルのデータについて、全文字の合計幅を計算し、この合計幅を用いて、相対するテーブルの対応するセルにコピーして配置するべきHTMLまたはテキストを決定する。
この方法において、重要な点の1つは、カスケーディングスタイルシートのプロパティ(cascading style sheet property)によって隠されたデータの「プレースホールダー」列を追加で用いる点であり、2つ目は、カラムのデータと動かないヘッダとを適切に整列させるために、あるカラムにおける最も幅が広いセルを、関連するあるいは複写したコンテンツを隣接するテーブルに配置するための計算に利用する点である。
他の実施形態では、テーブルにおける各カラムの幅(HTMLにおける<TD>)は、ピクセルまたは割合で、データの幅とヘッダの幅とを計算し、ヘッダセル及びデータセルから最大の幅を選択することによって、動的に設定することができる。割合が希望されている場合は、各カラムの最大のセル幅を合計し、その後、各ヘッダ及びデータカラムの割合を計算することができる。また、そのテーブルにおける最大の文字幅もまた、後に、あるカラムにおける、また複数のカラムにおける最大の幅を小さくするために、過度に長いデータを“…”や他のしるしを用いた省略法によって短く修正することができる。
本発明にかかるヘッダの動かないテーブルのシステムを、第3の(3rd)テーブルである他のテーブルや、あるCSSやDIVのタグと連結するために用いることにより、高速な処理を行うことや、複数のカラムのドロップダウンリストを作成することもできる。ほぼ全てであるとは言えないかもしれないが、インターネット上における大部分のドロップダウンリストは、1つのカラムのドロップダウンリストである。複数カラムのドロップダウンリストは、いくつか存在するが、これらのタイプの構成には多くの制限がある。それゆえ、そのような複数カラムのドロップダウンリストを用いる、主流のあるいは人気のあるウェブサイトは、実質的に皆無である。
本方法では、ウェブページで複数カラムのドロップダウンリストを表示することもできる。その方法では、付加的に、ユーザの入力に従って下側のデータ列を縮めたり展開したりしながら、上側のデータ列のカラムと下側のデータ列のカラムとを一直線に並べる。上記方法によれば、ユーザは、ウェブページにおいて、Excelのようなスプレッドシートのプログラムを見ているときに、データ列を垂直にスクロールしたときに、固定されたヘッダ列を見ることができる。下側の列のカラムと固定されたヘッダ列のカラムとが一直線に並んでいることにより、ユーザは、固定されたヘッダ列に配置されているカラムの名前を容易に見ることができる。
本発明の他の側面は、ユーザがサイズ変更計算をサーバ及び/またはクライアントで完了させることができ、カラムを自動的にサイズ変更することにより、ユーザが不必要なダブルクリックを行ったり、「正しい」サイズのカラム幅を得るためにユーザが別途余計な介入を行ったりすることを必要としない。
〔図面の簡単な説明〕
ここで、図面の参照を行う。ここでは、同様の構成要素を同様の番号で示している。
ここで、図面の参照を行う。ここでは、同様の構成要素を同様の番号で示している。
図1は、1つのヘッダと1つまたは複数のデータセルとを含む、1つのカラムのデータ表示概略図である。
図2は、各カラムが1つのヘッダと1つまたは複数のデータセルとを含む、複数カラムのテーブルの概略図である。
図3は、隠しヘッダと隠しデータセルとを有する、1つのカラムのデータ表示概略図である。
図4は、隠し列を見ることができる、固定ヘッダテーブルを示す図である。
図5は、隠しヘッダを備えるテーブルを示す図であり、存在する(existing)ヘッダセルは、そのカラムで最も幅広く表示されている。
図6は、データセルがカラム内で最も幅広に表示されているテーブルを示す図である。
図7は、隠しデータセルのコンテンツがそのカラムで最も幅広に表示されているテーブルを示す図である。
図8は、隠し列を隠すためにCSSスタイルシートのコードスニペット(CSS style sheet Code Snippet)を用いて表示したテーブルを示す図である。
図9は、固定されたヘッダテーブルを含む、複数カラムのドロップダウンボックスの縮めた状態と展開した状態とを示す概略図である。
図10は、セル列における異なるカラムが最も幅広であるHTMLテーブルを示す図である。
図11は、2つのテーブルを示す図であり、上のテーブルではデータが移動されており、下のテーブルではヘッダが移動されている。
図12は、本発明での使用に好適な「Geneva」フォントのための文字幅の一例を示すテーブル例である。
図13は、本発明での使用に好適な「Times」フォントのための文字幅の一例を示すテーブル例である。
図14は、「New Orleans Saints」という語句の表示幅を計算するシートの一例を示す図である。
図15は、上記2つのテーブルを表示するテキストサイズの設定をユーザが変更することのできるウェブページを示す図であり、〈TD〉の幅の値が同じ場合には、適切に並ばないことがある。
図16は、固定サイドバーテーブルを示す図である。
図17は、メインデータテーブルにおける最も高さが高いセルを決定するステップを示す図である。
図18は、プロセスにおいて、固定サイドバーテーブルのスクロールバー及びプレースホールダーカラムの上にメインデータテーブルが位置しているステップを示す図である。
図19は、コンピュータのモニタースクリーンに2つの固定ヘッダテーブルが表示され、テーブルのひとつが固定サイドバーテーブルとして動作している様子を示す図である。
〔好ましい実施形態の詳細な説明〕
ここで、図面に戻り、詳細について説明する。図10に示すHTMLテーブルは、ヘッダ12と、列14及び16と、複数の垂直方向のカラムA,B,C,Dを含んでいる。カラム幅の属性値が、ある程度のピクセル幅、あるいは幅の割合に設定(あるいは宣言(declare))されていなければ、テーブルは、カラムの最も幅の広いセルで自然と崩れてしまう。例えば、カラムAでは、#2の列のセルが最も広く、カラムBでは、#1の列のセルが最も広い。しかしながら、カラムCでは、ヘッダ列における「ColumnC」というテキストを含むセルが#1の列及び#2の列を含む全ての列の中で最も幅が広い。この例において、HTMLテーブルは、幅の属性値が宣言されていなければ、各カラムの最も広いセルにおいて自然と崩れるか、縮んでしまう。
ここで、図面に戻り、詳細について説明する。図10に示すHTMLテーブルは、ヘッダ12と、列14及び16と、複数の垂直方向のカラムA,B,C,Dを含んでいる。カラム幅の属性値が、ある程度のピクセル幅、あるいは幅の割合に設定(あるいは宣言(declare))されていなければ、テーブルは、カラムの最も幅の広いセルで自然と崩れてしまう。例えば、カラムAでは、#2の列のセルが最も広く、カラムBでは、#1の列のセルが最も広い。しかしながら、カラムCでは、ヘッダ列における「ColumnC」というテキストを含むセルが#1の列及び#2の列を含む全ての列の中で最も幅が広い。この例において、HTMLテーブルは、幅の属性値が宣言されていなければ、各カラムの最も広いセルにおいて自然と崩れるか、縮んでしまう。
本発明は、1つのデータグリッドが特有のタグを備えるように設計され、固定されたヘッダの区画を作成するように制御する、表示を構造化する方法を提供する。図11は、ヘッダを含むデータグリッドと、当該データグリッドのすぐ下側に2つの列を有するヘッダと複数の垂直方向のカラムとを含む他のデータグリッドを示している。この図において、データは、ヘッダを含むデータグリッドから分離されているので、他のテーブルやセルの幅の設定がなされていなければ、テーブルは、自然に最小のカラムの幅へと縮んでしまう。MozillaやOpera等のブラウザは、各ユーザがウェブページのコンテンツの文字サイズを彼ら独自の設定にすることを許している。これにより、目が悪い者やフォントサイズが小さすぎるウェブページを各ユーザがカスタマイズすることができる。この追加の設定は、ヘッダの固定されたテーブルを開発する際に考慮する必要がある。
本発明のテーブルデータ表示方法は、「交換」及び「隠す」ステップによって達成される。まず、ソフトウェア開発者や、ウェブページデザイナーは、可視下側のテーブルであるスクロール可能なデータテーブルの各カラムの最大セル幅を決定する。これにより、上記デザイナーはテーブル間でどの情報を交換するかを決定することができる。次に、各カラムで最大の幅をもつセルについて、それぞれのコンテンツのコピーをデータテーブルの上側に位置する固定ヘッダテーブルの見えない列に配置する。そして、上記デザイナーは、固定ヘッダテーブル(上側のテーブル)の各セルのヘッダコンテンツの幅(テキストまたはHTML)がスクロール可能なデータテーブル(下側のテーブル)の最大セル幅よりも大きいか否かを決定する。ヘッダコンテンツの方が幅広い場合、デザイナーは、ヘッダのコピーをスクロール可能なデータテーブルの特別な見えない列に配置する。デザイナーは、ホールダー式(holder-type)の列において、交換した情報を見えなくし、各テーブルにおける交換したコピーを隠す。また、デザイナーは、あるブラウザでは、調節するカラムに画像があることを感知できるように、高さを少なくとも一(1)にする必要があることを考慮して、交換した画像(もし、あれば)の高さの値を1(または一般的にはより低い高さにする)にする。また、ブラウザでは、高さがゼロ(0)に反応するものもある。
「交換」の結果、同数のカラムを含むテーブルが2つできる。1つのテーブルにおける同じカラムの最も幅の広いセルが対応するテーブルのそれよりも幅が広い場合には、そのテキストのコピーが対応するテーブルに配置される。これにより、対応するテーブルは、始めのテーブルよりも幅が広くなる。対応するテーブルから始めのテーブルまでを除いて(except from the opposite table to the originating table)同じステップが繰り返される。このプロセスは、ヘッダテーブル及びデータテーブルという2つのテーブルの各カラムにおけるテキストまたはHTMLのバランスを取って幅を等しくする。その結果、双方のテーブルにおける垂直方向のカラムの幅が互いに一直線に並ぶことになる。所望であれば、上記のアルゴリズムは、コードとしてまとめ直すこともできるが、この場合も全体の方法及び概念は変わらない。
図1に示す例では、テーブル20には、ヘッダテーブル22と、ヘッダテーブル22の下側に位置するデータテーブル24とが形成されている。ヘッダテーブル22は、26という数字で示される可視ヘッダセルAと、28という数字で示される隠しヘッダセルAとを含む。下側のデータテーブル24は、30という数字で示される第1の可視データセルA1と、32という数字で示される第2の可視データセルA2とを含む。34という数字で示される隠しデータセル34は、第2データセル32の下側に位置している。隠しデータセル34は、ヘッダテーブル22及びヘッダセル26から取得したデータから、プレースホールダーとして用いられる。隠しヘッダセル28は、可視データセル30及び32に配置されている情報のタイプに応じて幅が広がったり縮まったりする。例えば、説明のため、より幅の広い第1または第2データセル30,32が選択されたとすると、その情報のコピーが隠しヘッダセル28に配置される。同様に、可視データセル26のコンテンツがデータセル30,32の何れよりも幅広であった場合には、ヘッダセル26のコピー、あるいはヘッダセル26の代わりとなるものが隠しデータセル34に配置される。
「交換」と「隠し」との結果、デザイナーは、同じ表示幅を有し、それゆえ同じカラム幅を有し、2つのテーブル、すなわちテーブル22とテーブル24との端部が一直線に並ぶ、上側のヘッダテーブル22及び下側のデータテーブル24という2つのテーブルを得る。
図2は、上述したステップを複数のカラムがある状況に適用した状態を示す図である。ここでは、ヘッダテーブル40は、各カラムA,B,及びCについて、3つの可視ヘッダセルA,B,及びCを備え、同様に、カラムA,B,及びCについて隠しヘッダセルA,B,及びCを備えている。データテーブル42は、ヘッダテーブル40の下側に位置し、1つまたは複数のデータセルA1,B1,C1と、任意のデータセルA2,B2,及びC2とを備えている。各カラムのそれぞれにおける隠しデータセルは、データセルA2,B2,及びC2の下側に位置している。データテーブル42のカラムA,B,及びCのそれぞれにおいて、データセルのカラムの表示幅が最も広いものが決定される。例えば、データセルA1またはA2のどちらがテキストまたはHTMLにおいて幅が広いかを決定し、次にデータセルA1またはA2のより幅の広い値で隠しヘッダセルのコンテンツを埋める。これにより、データテーブルのカラムAで最も広い幅に等しい、同じ結果の幅を得ることができる。
図3は、ヘッダテーブルとデータテーブルとで最も表示幅の広いものが、対応するテーブルの隠し列/セルに写される状態の一例を示す図である。動かないヘッダを設計する方法では、デザイナーは、まず、データテーブル44においてデータセルA1の表示幅が、データセルA2のそれよりも広いか否かを決定する。「表示幅」は、文字幅と、線の画像の幅との合計である。複数の線がある場合には、文字幅の合計が最も大きくなる線と画像とが選択される。文字の幅の単位は、ピクセルやポイント、エムズ(em’s)、または他の任意の絶対もしくは相対測定単位とすることができる。図12−14は、各文字のサイズ、及びデータセルまたはヘッダセルに配置し得る語句の計算の例を示している。
データセルA2がテキストまたはHTMLにおいて、より幅が広かった場合には、データセルA2のコンテンツのコピーまたはデータセルA2のコンテンツに代わるものがヘッダテーブル46の隠しヘッダセルAに配置される。逆に、ヘッダセルAがデータセルA1やデータセルA2よりも広い表示幅を占めている場合には、データセルA2の下の隠しデータセルAに、ヘッダセルAのコンテンツのコピーまたはヘッダセルAのコンテンツに代わるものがヘッダテーブル46の隠しヘッダセルAに配置される。隠しヘッダセルAと隠しデータセルAとの両方は、カスケーディングスタイルシートのプロパティ(cascading style sheet property):visibility:hidden;and line-height;1px;を用いている。
隠しヘッダセルAまたは隠しデータセルBに配置する画像がある場合には、その画像の高さが、高さ=1、または高さ=0に修正される。表示幅を比較し、隠しヘッダ、または隠しデータセルにコンテンツをコピーするステップは、次のカラムでも繰り返される。その結果、ヘッダテーブル46とデータテーブル44とは、等しい幅を有することになり、これにより、垂直方向のカラムの配置や幅、及び端部の配置が同じになる。
図4は、固定された、あるいは動かないヘッダを備え、隠し列がユーザの画面で見える状態のテーブルの一例を示す図である。隠しヘッダ列48の隠し列領域は、可視ヘッダ及びデータ領域において最も広い「表示幅」を有する領域と部分的に同じになっている。1段目の可視列50は、「Order # ID(注文#ID)」を示す第1カラム52、「Customer ID(顧客ID)」を示す第2カラム54、「Ship Name(船名)」を示す第3カラム56、「Order Date(注文日)」を示す第4カラム58、及び「ShipCountry(船の国籍)」を示す第5カラム60を含んでいる。第3カラムで最も幅の広いテキストである「Vins et alcools Chevalier」は、可視データテーブル68のOrder#10248の列に見られ、これが隠しヘッダセル62と、隠しデータ列66における隠しデータセル64との幅を制御する。
図5に示す図では、スクロールバーが示されていない。この図では、ヘッダセル70がカラム72のそれぞれの中で最も表示幅が広い。また、ヘッダセル70は、カラム72に対応するデータテーブル74におけるテキストよりも幅が広い。隠しヘッダセル76は、ヘッダセル70から複写したデータを含んでいる。画像は、先々隠すことができるように高さが「1」に縮められる。最も幅の広いカラムのテキストと同じテキストは、隠しデータセル78に複写され、そのカラムの最も下の列を占める。しかしながら、隠しデータセルは、デザイナーの好みに応じてカラムの中間位置や最上段に位置していても良いことに注意するべきである。
図6は、カラムの中で1つのデータセルが最も幅広である状態の図である。この図では、カラム82においてデータセル80が最も表示幅が広い。同じデータが隠しヘッダ86及び隠しデータセル88に複写されている。図6では、隠しヘッダ及びデータテーブルのセル86,88を見ることができるが、CSS式のプロパティがこれらのコンテンツを「隠す」ために用いられることは、理解できるであろう。例えば、CSSプロパティの:visibility:hidden;and line-height;1px;を、隠しヘッダセル86及び隠しデータセル88を隠すために用いることができる。
図7は、データセルの1つ、この場合データセル90が、そのカラムにおいて最も幅広に表示されている状態を示す図である。隠しデータセル90のテキストは、カラム92の中の何れかにあるテキストに由来しており、ユーザがカラム92をスクロールバー94で「Centro commercial Moctezuma」とのテキストに向かって下側へ動かしたとしても、その表示を見ることはできない。テーブルに何ページかのデータがある場合には、ブラウザ上で現在は見えないページの最も幅広いデータの値で良く、ユーザがスクロールバーを下側に移動させたときでさえ見えないページの最も幅広いデータの値でも良い。隠しヘッダセル96は、隠しデータセル90と同じ幅に調整される。スクロールバー94は、<DIV>タグとCSSの属性、すなわち高さとオーバーフローxとオーバーフローyとを用いて作成することができる。
図8は、隠し列(プレースホールダー列)を隠すために用いられる、CSSスタイルシートのコードスニペット(Code Snippet)98を示す図である。この図において、ヘッダセルとデータセルの隠し列とは隠されており、ユーザには見えないようになっている。
図9は、動かないヘッダを有する複数カラムのドロップダウンボックスの縮めた状態と展開した状態とを示す図である。複数カラムのドロップダウンボックスは、データテーブルとそのヘッダ列とを隠したり、見えなくしたりするために、より多くの<DIV>タグを用いる。その結果、ユーザのコンピュータ端末における表示は、図9に示すような縮めた状態となる。特別な(extra)<DIV>タグは、ヘッダテーブルと同様に、データテーブルの全体を取り囲む(surrounds)。他のプログラム方法や命令によって<DIV>の属性を制御してそれを隠したり、隠さなかったりする。
図12及び13は、「Geneva」及び「Times」向けの可能な文字幅のサンプルを提供するものであり、慣用のフォントサイズとしてピクセル単位を用いている。また、同じフォントにおいて、ポイントサイズが、他のポイントサイズと比べて、幅に関して異なっていても良い。非常に多くの異なるサイズやバリエーションがあるので、隠れたコピーを行い(make a hidden copy)、ユーザのブラウザがサイズ計測の処理を行うことができるようすることが好ましい。図14は、合計サイズが94.21223ピクセルの「New Orleans Saints」という語句の表示幅の計算例を示す図である。
また、図12及び13は、多くの文字が同じフォントグループ内で同じ幅を有していること、または他のフォントグループと文字幅が一致していることを示している。よって、本発明では、カラムの幅を調節するための隠しヘッダセル86及び隠しデータセル88のオリジナルの文字に代えて、他の文字や他の文字の組合せを用いることができる。符号化したデータや「代わりの」データもまた、カラムの幅の調整に用いることができる。すなわち、隠しヘッダセル86にデータをコピーする代わりに、隠しヘッダセル86と、カラムの中で最大のデータセルとの間の関連付けを行うことができ、そして次に隠しヘッダセル86に「代わりの」データをコピーすることができる。
本発明は、「動かない」ヘッダを有する表示テーブルを製作する代替の方法も提供している。上記代替の方法によれば、ソフトウェアプログラムは、まず、スクロール可能なデータテーブルまたは下側のテーブルの各カラムにおける最大のセル幅を決定する。次に、プログラムは、固定された上側のテーブルの各セルについて、そのヘッダコンテンツがスクロール可能なテーブル(下側のテーブル)の中の最大セル幅よりも広い幅を有しているか否かを決定する。次のステップでは、プログラムは、最小のカラム幅を計算し、そして下側のテーブルの各カラムを同じ最小のカラム幅に設定する。これにより、固定の上側のテーブルとスクロール可能な下側のテーブルとが一直線に並ぶことになる。
本発明の最初の実施形態で述べたような、プレースホールダーデータを隠しセル内に配置する代わりに、テーブルのセル<td>の幅の設定によってもカラムの幅を調節することができるので、プログラムは、各カラムの最大セル幅を簡単に計算及び決定することができ、そして次に、<td>セルの幅の属性がどのような値となるかを計算することができる。
<td width=“maximum calculated number in pixels”>。
<td width=“maximum calculated number in pixels”>。
上記代替の方法では、テーブルセルの幅<td width=“in pixels”>を設定するコーリング(calling)において、所定のものを必要とする(require certain)であろうことが想像される。例えば、プログラマーがテーブルを100%の幅に設定したいと考えた場合には、<td>が固定されることにより、<td>の幅をはじめから設定しないばあい程には、簡単できれいに変形したり伸びたりはしないと考えられる。このような状況は、例えばあるセルが多くのテキストを含んでおり、次の下の行にまで達するようなときに起こる。ウェブサイトのテーブルを100%の幅にして、幅において可能な限りの余地を確保する方が良いときもある。また、スペースを節約するために、テーブルの幅を可能な限り小さく縮める方が良いときもある。
プログラムがカラムの幅を設定することのできる方法は、非常にたくさんある。例えば、カラムの幅は、<td>の幅の属性を:(1)ピクセルの値、または(2)割合の値に設定して決定することができ、または(3)値を設定せず、セル内のコンテンツによってそのセルの幅を決定させることで決定することができる。さらに、隣接するカラムのコンテンツ及び幅の属性値もまた、カラムの幅、特に割合の幅に影響を与える。プログラマーが、表示するテーブル形式のデータが複数の列を有し、短いものや、画像が結合されたものや、画像を有するヘッダや、テキストや、それらの組合せを含む状況に遭遇した場合であっても、上記のように計算された各文字のフォントサイズは、ブラウザからブラウザへと変化することが可能である。ユーザが彼または彼女のブラウザで設定するウインドウサイズは、解決等している(resolution, etc)。各フォントタイプは、主流のそして一般的なコンプライアント(compliant)ブラウザプログラムを含む、あるプログラムと他のプログラムとの間で微妙に変化する。これらのわずかな違いによって、プログラムやブラウザにおいて、ヘッダのカラムがデータカラムと完全には一直線に並んでいないように見えることになる。
下記のテーブルと図15とは、幅の属性値において同じTDの値を有している。このテーブルにおけるセルのコードと幅の値とを以下に示す:
上記2つのテーブルに見受けられるように、2つのテーブルのカラムは、互いに一直線上に並んでいる。この図は、2つのテーブルが実際に離れているように見えるように、2つのテーブル間に空間を設けたことを示すものである。しかし実際には、上記2つのテーブルは、互いに垂直方向の距離がより近く、また互いに接していることもある。しかしながら、ユーザが、図15に示すブラウザオプションを介して上記テーブルのテキストサイズの設定を変更した場合には、ユーザがブラウザで変更したテキストサイズ設定にしたがって、上記2つのテーブルは、異なる率で拡張し始めるということがあり得る。これにより、上記2つのテーブルは、そのカラムが互いに一直線に並んでいる状態から離れてしまう。固定ヘッダの内部のフォントが調整可能な設定とは逆に、あるピクセルの設定に固定されている場合には、そのテーブルのカラムは、少なくとも「Internet Explorer」では一直線に並び、おそらくは他のブラウザを使用するときもそうであると考えられる。ゆえに、全てのカラムが適切に並んだ状態を保ちたい場合には、プログラムは、各カラムの幅を設定する代わりに、各カラムの最大幅を設定するべきである。
本書面で述べる複数カラムのドロップダウンリストは、ついに製品品質レベルのブラウザ間での互換性(cross-browser compliant)を成し遂げることができたことを示している。上記複数カラムのドロップダウンリストは、上記の動かないヘッダテーブルで述べたように、選択されたデータ列に対して、事実上等しい入れ替えと繰り返し(swapping and synchronizing)とを用いる。第3の(3rd)テーブルは、カラムの幅が他のデータテーブルのカラム及びヘッダテーブルのカラムと一直線に保たれるように、まだ訂正データの場所を占める(still populated with the correct data)、CSSを介した隠し列を有している。さらに、ユーザがデータテーブルにおいてある項目を選択したときには、その項目は、この3番目の(3rd)テーブルに場所を占めることになる。
多くのコンピュータ言語が本発明の動かないヘッダを備えたデータテーブルの手段として使用可能であると考えられる。なお、本方法を実行するために、ユーザは、「クライアント/サーバ」形式におけるサーバを適用し、クライアントのブラウザがJavaScriptやJavaやVBScriptのような言語を介するようにすることができる。さらに、本方法の一部は、ウェブサーバとクライアントとの両方によって実行可能である。
サーバ側の言語に関しては、多くの選択肢がある。例えば、Java、J2EE、Perl、PHP、ColdFusion、Python、Visual Basic、ASP.NET、C#、J#、JSP、HTMLといった、機械語、またはアセンブリ言語がここで述べる方法を実行するために使用できる。これらのテーブルのデータは、一般的にMS Access、SQL Server、IBM DB2、Oracle、MySQL等のデータベースに由来する。やはり、XMLファイル、フラットファイル(flat file)、JavaScriptのオブジェクトやいくつかのカスタマイズされたデータフォーマットに由来するものに由来していてもよい。データの埋め合わせには、また、サーバとクライアントのブラウザとの間で動作及び反応時間を改善するために、非同期のJavaScriptとXMLとによるAJAXで参照される方法を用いることもできる。また、使用する言語及びデータベースによってバリエーションは異なるが、動かないヘッダを作成し、カラムを一直線に並べる同じ方法を用いることができる。
本発明のさらなる特徴点は、データセル列の高さを調節する、セルの固定サイドバーを作成することである。これは、上下にスクロールする場合のみならず、隠れたカラムを見るために、メインヘッダテーブルを左または右にスクロールさせたときでも、メイン固定ヘッダテーブルと垂直方向の同じ位置を保つ。この仕事は、一般に、高さにおいて、1,2,3等の行のみを含むので、固定のヘッダを作ることに比べて、何か簡単なように見える。しかし、Excelのようなその大きな特徴が設定されているスプレッドシートプログラムをこの発明の実行に用いる場合には、そのプログラムはかなり複雑になり得る。
固定サイドバーを形成するために、プレースホールダーカラムのための交換処理と同じ概念を用いる。プログラムは、ラインブレーク(line breaks)の数を調べ、その結果に応じてデータセルの入れ替えを行う。これにより、2つの固定ヘッダテーブルが隣に並ぶことになり、例えば、その左側の固定ヘッダテーブルが固定サイドバーとしても機能することになる。左側のヘッダテーブルのスクロールバーは、完全に消してしまうか、何らかの方法で隠すかする。しかしながら、プログラム言語の中には、固定サイドバーテーブルのスクロールバーの位置がメイン固定ヘッダテーブルのスクロールバーの位置に同調して残ってしまうものもある。
図16及び17は、プレースホールダーカラム102及び固定サイドバーカラム108を備えた、位置が固定されたサイドバーテーブル100を示している。プレースホールダーカラム102は、「Customer ID」とのヘッダ、及び複数のデータセル104を備えている。データセルの1つである105は、最も情報の量が多く、それゆえに最も高さが高い。
スライド式のスクロールバー106は、プレースホールダーカラム102の右側に示されている。固定サイドバーカラム108は、プレースホールダーカラム100の左側に示されている。メインデータテーブル110は、図17に示すように、追加のカラムを含んでいてもよい。図17では、「Ship Name」カラム112、「Order Date」カラム114、「Ship Country」カラム116が追加されている。もちろん、表示されるデータの性質に応じて、メインテーブルが1つだけカラムを含んでいてもよい。
固定スクロールバーを設計する過程のステップの1つでは、CSSのプロパティ、例えばCSSのzインデックスレイヤー(z-index layer)を用いて、メインデータテーブル110によって、固定サイドバーカラム108が見える状態のまま、固定サイドバーテーブルのプレースホールダーカラム102及びスクロールバー106を隠す。プレースホールダーカラム102は、メインデータテーブル110またはサイドバーテーブル100の中で最も高さの値が大きいセルを決定することで作成される。この図においては、セル105がそれである。同様に、セルがテキストのみを含む場合には、その値は、行数、キャリッジリターン(carriage returns)、HTMLの<BP>や<P>タグに基づいて決定される。
図18に見受けられるように、メインデータテーブル110は、部分的に固定サイドバーテーブル100、すなわちプレースホールダーカラム102及び固定サイドバーテーブル100のスクロールバー106と重なって(「上に」配置されて)いる。これにより、メインテーブルの表示が、固定サイドバーテーブル100のスクロールバー106を覆うことによってテーブル100と110とが1つのテーブルに見える。
図19は、本発明をページの表示に適用した他のバリエーションを示しており、2つの固定ヘッダテーブルがあって、その1つは固定サイドバーテーブルとして働く。この図において、大きいテーブル112は、固定サイドバーテーブル114及び複数のデータカラム115を備えている。固定サイドバーテーブル114は、水平スクロールバー116が左または右に移動される場合でも変化しない固定カラムとして働く。水平スクロールバー116は、テーブルの下側に位置し、ユーザが他のカラムのデータを見るために、水平方向の左または右にメインデータテーブルを動かすことができるようにしている。垂直スクロールバー120は、プログラムデザイナーの選択に従って、ヘッダが固定された状態、あるいは固定されていない状態で、ユーザがメインテーブルを上下にスクロールできるようにしている。
本発明では、プログラムデザイナーは、2つの隣り合うテーブルを用いる以外にも、同じデータを用いる2つの固定ヘッダテーブルを備えたカラムサイドバーを作成することができる。固定サイドバーテーブルのプレースホールダーカラム及びスクロールバーを隠すために用いることができるCSSのプロパティ(または他の類似の手段)によってプレースホールダーカラム及び固定サイドバーテーブルのスクロールバーが隠れるようにするため、メインテーブルは、固定サイドバーテーブルに「部分的に重なる」または覆う。
さらに、メインテーブルの垂直方向のサイドバーは、両方の列が互いに一直線に並ぶように、固定サイドバーのスクロールバーと同調(synchronized)させる。これは、上記のデータ交換方法を用い、高さが最大のセルを探し、隠し第2カラムと同様に固定サイドバーテーブルのオプションでデータを導入することによってなされる。両方のテーブルは、上下にスクロールするときに、スクロールバーの位置が垂直方向に互いに同じ位置となる。これは、クライアント側のウェブページにおけるJavaScriptを用いた様々な方法で実行することができる。
メインデータテーブルの可視カラム(右または左。スクロールの方向による)が隠された状態で、メインデータテーブルを水平方向にスクロールすることによって、固定ヘッダテーブルのヘッダ及び隠しカラムのデータが次の可視カラムの位置へと入れ替えられる。
本発明の方法は、本発明の精神から離れず、多くの変更、修正を行うことができる。ゆえに、本発明の権利範囲が添付のクレームの範囲のみに限定されないことを請う。
Claims (17)
- コンピュータ制御のスクリーンに、カラム、列、及び当該カラム及び列で規定される複数のセルを備えるテーブル内に配列されたレコード(records)を表示する方法であって、
上記カラムの小見出し(headings)を表示する第1のスクロールできないサブテーブルを形成するステップと、
上記第1サブテーブルの上記小見出しに一致するレコードを表示する第2のスクロール可能なサブテーブルを形成するステップと、
各カラム内のセルにおける最大の幅または高さを示すパラメータに基づいて、上記第1サブテーブル及び第2サブテーブルの各カラムにおける最大サイズのパラメータを決定するステップと、
上記第1サブテーブルにおいて上記コンピュータ制御のスクリーン上で見える視認可能部位と、上記第1サブテーブルにおいて上記コンピュータ制御のスクリーン上で見えない隠し部位とを決定するステップと、
対応するカラムの幅または高さのパラメータを決定するために、上記最大パラメータのセルのデータを、上記第1サブテーブルの隠し部位における対応するカラム内のセルにコピーするステップとを備えている。 - 上記第1サブテーブルの隠し部位にコピーするレコードは、当該レコードを上記第1サブテーブルの隠し部位にコピーする前に予め決定された幾何学的属性値(pre-determined geometric attribute value)に調整された高さであって、予め決定された高さを有している請求項1に記載の方法。
- 上記幾何学的属性値は、1またはそれ以下の高さの値である請求項2に記載の方法。
- セル幅は、<td>幅の属性を上記セル内のレコードのピクセル値に設定することによって決定される請求項1に記載の方法。
- セル幅は、残りのデータテーブル(remainder data table)の関係にあって対応するカラムの割合の値(percentage value)を決定することによって決定される請求項1に記載の方法。
- 上記スクロールできない第1サブテーブルが上記テーブルの固定されたヘッダを規定する請求項1に記載の方法。
- 上記第1サブテーブルが上記テーブルの固定されたサイドバー(sidebar)を規定する請求項1に記載の方法。
- コンピュータ読み取り可能な記録媒体の形で表されるコンピュータプログラムコードであって、
カラム、列、及び当該カラムと列とで規定される複数のセルを備えたデータテーブルとして配列された、データベースのレコードのための一連のパラメータを規定するコンピュータ実行可能なプログラムコードと、
最大の幅または高さのパラメータを有するセルに表示される上記レコードに基づいて、上記データテーブルの各カラムまたは列の最大の幅または高さのパラメータを決定するコンピュータ実行可能なプログラムコードと、
各カラムのスクロールできない部位を規定する第1サブテーブルを制定するコンピュータ実行可能なプログラムコードと、
各カラムのスクロール可能な部位を規定する第2サブテーブルを制定するコンピュータ実行可能なプログラムコードと、
上記第1サブテーブルの可視部位と、上記第1サブテーブルの隠し部位とを制定するコンピュータ実行可能なプログラムコードと、
上記第1サブテーブル及び第2サブテーブルにおいて対応するカラムまたは列の幅または高さを規定するために、上記最大のパラメータを有するデータのセルのレコードと、上記第1サブテーブルの隠し部位の対応するカラムのセルのレコードとを関連付けるコンピュータ実行可能なプログラムコードとを備えている。 - 上記第1サブテーブルの隠し部位に関連付けられたレコードは、当該レコードを上記第1サブテーブルの隠し部位にコピーする前に予め決定された幾何学的属性値(pre-determined geometric attribute value)に調整された高さであって、予め決定された高さを有している請求項8に記載のコンピュータプログラムコード。
- 上記幾何学的属性値は、1またはそれ以下の高さの値である請求項9に記載のコンピュータプログラムコード。
- セル幅は、<td>幅の属性を上記セル内のレコードのピクセル値に設定することによって決定される請求項8に記載のコンピュータプログラムコード。
- セル幅は、残りのデータテーブル(remainder data table)の関係にあって対応するカラムの割合の値(percentage value)を決定することによって決定される請求項8に記載のコンピュータプログラムコード。
- 上記スクロールできない第1サブテーブルが上記テーブルの固定されたヘッダを規定する請求項8に記載のコンピュータプログラムコード。
- 上記スクロールできない第1サブテーブルが上記テーブルの固定されたサイドバー(sidebar)を規定する請求項8に記載のコンピュータプログラムコード。
- 上記第1サブテーブルの隠し部位に関連付けられたレコードを当該第1サブテーブルの隠し部位にコピーする請求項8に記載のコンピュータプログラムコード。
- 上記第1サブテーブルの隠し部位における対応するカラム内のセルにコピーされる上記最大パラメータを有するセルのデータは、上記最大パラメータを有するセルの代替データである請求項1に記載の方法。
- スクロール可能なテーブル形式のデータのための、ウェブページ上で動かないヘッダ列を作成する方法であって、
上記テーブル形式のデータと、上記動かないヘッダ列の少なくとも1つのプレースホールダーとを関連付け、
カラムが、対応する起点のテーブル(corresponding originating table)のセル及びカラムと自動的に同じ幅になるように、対応するテーブルにプレースホールダーを配置し、そして、
各セルのデータにおける最大のテキスト幅を計算する方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63115204P | 2004-11-26 | 2004-11-26 | |
US11/284,942 US20060117051A1 (en) | 2004-11-26 | 2005-11-21 | Method of displaying data in a table |
PCT/US2005/042560 WO2006058131A2 (en) | 2004-11-26 | 2005-11-23 | A method of displaying data in a table |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008522288A true JP2008522288A (ja) | 2008-06-26 |
Family
ID=36498511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007543477A Pending JP2008522288A (ja) | 2004-11-26 | 2005-11-23 | テーブル形式のデータを表示する方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20060117051A1 (ja) |
EP (1) | EP1815321A2 (ja) |
JP (1) | JP2008522288A (ja) |
KR (1) | KR20070086669A (ja) |
AU (1) | AU2005309577A1 (ja) |
CA (1) | CA2586480A1 (ja) |
EA (1) | EA012487B1 (ja) |
NO (1) | NO20073261L (ja) |
WO (1) | WO2006058131A2 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788584B2 (en) * | 2005-08-03 | 2010-08-31 | International Business Machines Corporation | Computer-implemented method, system, and program product for hiding columns in an electronic table |
US20070050697A1 (en) * | 2005-08-23 | 2007-03-01 | International Business Machines Corporation | Integrated spreadsheet expanding table with collapsable columns |
US7818291B2 (en) * | 2006-02-03 | 2010-10-19 | The General Electric Company | Data object access system and method using dedicated task object |
US20070245306A1 (en) * | 2006-02-16 | 2007-10-18 | Siemens Medical Solutions Usa, Inc. | User Interface Image Element Display and Adaptation System |
CN100424700C (zh) * | 2006-03-06 | 2008-10-08 | 阿里巴巴集团控股有限公司 | 在网页中实现表格局部滚动显示的方法及系统 |
GB2451020A (en) * | 2006-03-09 | 2009-01-14 | Ringler Informatik Ag | Method for creating tables in electronic forms |
US20080016437A1 (en) * | 2006-07-17 | 2008-01-17 | Joachim Fenkes | Method and System for Modifying and Presenting Document Data |
US8656271B2 (en) * | 2006-07-31 | 2014-02-18 | Sap Ag | Adapting a spreadsheet for use with a complex object |
US7812717B1 (en) | 2007-02-02 | 2010-10-12 | Resource Consortium Limited | Situational network |
KR20100016038A (ko) * | 2007-04-11 | 2010-02-12 | 톰슨 라이센싱 | 비디오 윈도우들의 크기를 재설정하기 위한 종횡비 힌팅 |
US7925989B2 (en) | 2007-05-09 | 2011-04-12 | Sap Ag | System and method for simultaneous display of multiple tables |
US20090044090A1 (en) * | 2007-08-06 | 2009-02-12 | Apple Inc. | Referring to cells using header cell values |
US7877702B2 (en) * | 2007-11-20 | 2011-01-25 | International Business Machines Corporation | Tree widget data population |
CN101470570B (zh) * | 2007-12-27 | 2011-02-02 | 鸿富锦精密工业(深圳)有限公司 | 移动网页报表的系统及方法 |
US8166387B2 (en) * | 2008-06-20 | 2012-04-24 | Microsoft Corporation | DataGrid user interface control with row details |
US8312366B2 (en) * | 2009-02-11 | 2012-11-13 | Microsoft Corporation | Displaying multiple row and column header areas in a summary table |
US8990675B2 (en) | 2011-10-04 | 2015-03-24 | Microsoft Technology Licensing, Llc | Automatic relationship detection for spreadsheet data items |
US9069748B2 (en) | 2011-10-04 | 2015-06-30 | Microsoft Technology Licensing, Llc | Selective generation and display of data items associated with a spreadsheet |
US9285979B2 (en) * | 2012-09-17 | 2016-03-15 | Adobe Systems Incorporated | Computer-implemented methods and systems for multi-touch duplication and swapping interactions |
US9286285B1 (en) | 2012-10-30 | 2016-03-15 | Google Inc. | Formula editor |
US10372808B1 (en) | 2012-12-12 | 2019-08-06 | Google Llc | Passing functional spreadsheet data by reference |
US9208214B2 (en) * | 2013-03-15 | 2015-12-08 | International Business Machines Corporation | Flexible column selection in relational databases |
US9772753B2 (en) * | 2013-06-07 | 2017-09-26 | Microsoft Technology Licensing, Llc | Displaying different views of an entity |
US9311289B1 (en) | 2013-08-16 | 2016-04-12 | Google Inc. | Spreadsheet document tab conditional formatting |
US9977772B1 (en) * | 2013-09-24 | 2018-05-22 | Mehrdad Samadani | Method and system for cellular text processor and display |
US9959265B1 (en) | 2014-05-08 | 2018-05-01 | Google Llc | Populating values in a spreadsheet using semantic cues |
US9760271B2 (en) | 2014-07-28 | 2017-09-12 | International Business Machines Corporation | Client-side dynamic control of visualization of frozen region in a data table |
CN105528362B (zh) * | 2014-09-30 | 2020-12-22 | 远光软件股份有限公司 | 一种表格的加载显示方法及其显示装置 |
CN105205040A (zh) * | 2015-09-14 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种基于Flex的表格显示方法及装置 |
KR101880507B1 (ko) * | 2017-04-21 | 2018-07-20 | 주식회사 한글과컴퓨터 | 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법 |
KR101880508B1 (ko) * | 2017-04-27 | 2018-07-20 | 주식회사 한글과컴퓨터 | 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법 |
US11514258B2 (en) | 2018-09-20 | 2022-11-29 | International Business Machines Corporation | Table header detection using global machine learning features from orthogonal rows and columns |
US10831798B2 (en) * | 2018-09-20 | 2020-11-10 | International Business Machines Corporation | System for extracting header labels for header cells in tables having complex header structures |
US10776573B2 (en) * | 2018-09-20 | 2020-09-15 | International Business Machines Corporation | System for associating data cells with headers in tables having complex header structures |
US11443106B2 (en) | 2018-09-20 | 2022-09-13 | International Business Machines Corporation | Intelligent normalization and de-normalization of tables for multiple processing scenarios |
WO2021119344A1 (en) * | 2019-12-10 | 2021-06-17 | Ent. Services Development Corporation Lp | Systems and methods for unfolding data entry forms for bi-directional learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000042854A (ja) * | 1998-07-27 | 2000-02-15 | Babcock Hitachi Kk | 自動工具の駆動装置 |
JP2000293154A (ja) * | 1999-04-07 | 2000-10-20 | Casio Comput Co Ltd | 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506343A (en) * | 1982-05-17 | 1985-03-19 | International Business Machines Corporation | Column layout reference area display management |
US5175810A (en) * | 1989-06-19 | 1992-12-29 | Digital Equipment Corporation | Tabular data format |
US6313848B1 (en) * | 1999-01-06 | 2001-11-06 | Avaya Technology Corp. | Folded tables: a method of viewing wide tables with reduced need for horizontal scrolling |
US20040049737A1 (en) * | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
US7117435B1 (en) * | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US6988241B1 (en) * | 2000-10-16 | 2006-01-17 | International Business Machines Corporation | Client side, web-based spreadsheet |
US20030164859A1 (en) * | 2001-02-02 | 2003-09-04 | Evans Clark Cameron | Hybrid widget/layout user interface for structured information |
US6868528B2 (en) * | 2001-06-15 | 2005-03-15 | Microsoft Corporation | Systems and methods for creating and displaying a user interface for displaying hierarchical data |
US7328400B2 (en) * | 2003-12-01 | 2008-02-05 | International Business Machines Corporation | Table column spanning |
-
2005
- 2005-11-21 US US11/284,942 patent/US20060117051A1/en not_active Abandoned
- 2005-11-23 WO PCT/US2005/042560 patent/WO2006058131A2/en active Search and Examination
- 2005-11-23 EP EP05846790A patent/EP1815321A2/en not_active Withdrawn
- 2005-11-23 KR KR1020077014539A patent/KR20070086669A/ko not_active Application Discontinuation
- 2005-11-23 CA CA002586480A patent/CA2586480A1/en not_active Abandoned
- 2005-11-23 JP JP2007543477A patent/JP2008522288A/ja active Pending
- 2005-11-23 EA EA200701153A patent/EA012487B1/ru not_active IP Right Cessation
- 2005-11-23 AU AU2005309577A patent/AU2005309577A1/en not_active Abandoned
-
2007
- 2007-06-26 NO NO20073261A patent/NO20073261L/no not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000042854A (ja) * | 1998-07-27 | 2000-02-15 | Babcock Hitachi Kk | 自動工具の駆動装置 |
JP2000293154A (ja) * | 1999-04-07 | 2000-10-20 | Casio Comput Co Ltd | 表の表示制御装置、及び方法、並びにそのプログラムを記憶した記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
EA200701153A1 (ru) | 2007-12-28 |
NO20073261L (no) | 2007-08-27 |
CA2586480A1 (en) | 2006-06-01 |
AU2005309577A1 (en) | 2006-06-01 |
US20060117051A1 (en) | 2006-06-01 |
EA012487B1 (ru) | 2009-10-30 |
WO2006058131A2 (en) | 2006-06-01 |
WO2006058131A3 (en) | 2007-04-19 |
EP1815321A2 (en) | 2007-08-08 |
KR20070086669A (ko) | 2007-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008522288A (ja) | テーブル形式のデータを表示する方法 | |
US11461077B2 (en) | Method of displaying data in a table with fixed header | |
US20080104091A1 (en) | Method of displaying data in a table | |
US20150067463A1 (en) | Method of displaying data in a table while retaining a fixed header | |
US9785623B2 (en) | Identifying a set of related visible content elements in a markup language document | |
US9043698B2 (en) | Method for users to create and edit web page layouts | |
US7412644B2 (en) | System and process for delivering and rendering scalable web pages | |
US7802182B2 (en) | System and method for performing visual property updates | |
US7490290B2 (en) | System and method for a look and feel designer with a skin editor | |
US20060174187A1 (en) | System and method for a look and feel designer with a page-view interface | |
US20060174195A1 (en) | System and method for a look and feel designer with a style sheet editor | |
US7620903B1 (en) | Simplified implementation of adaptable user interfaces | |
Trivedi et al. | The Front End: Presentation | |
Harwani et al. | Using CSS | |
JP2016024643A (ja) | ハイパーテキスト文書の縦書きへの変換方法及びハイパーテキスト文書の縦書きへの変換プログラム | |
RAMESH et al. | Web Technology | |
TE | SITY O OMPUT | |
Andrew | The CSS anthology 101 essential tips | |
Harder et al. | Working with Images and Tags | |
Singh | Computer Aided Decision Systems Industrial practices using Big Analytics Professor Deepu Philip Department of Industrial and Management Engineering Indian Institute of Technology Kanpur Professor Amandeep Singh | |
Chaudhary et al. | DOM Manipulation with jQuery | |
West | Rollover Menus | |
Grannell | Tables: How Nature (and the W3C) Intended | |
Wise | CSS Positioning Using Expression Web Style Tools | |
Joshi | Styling Web Forms and Views with CSS3 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110628 |