專利名稱:電子數(shù)據(jù)表的顯示方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在計(jì)算機(jī)系統(tǒng)內(nèi)圖形用戶界面(GUI)的領(lǐng)域。本發(fā)明具體地涉及在計(jì)算機(jī)系統(tǒng)中對(duì)顯示大型電子數(shù)據(jù)表或表格的管理。
背景技術(shù):
電子數(shù)據(jù)表應(yīng)用程序提供單元格矩陣。該矩陣由“行”和“列”組成,一個(gè)行具有一個(gè)或多個(gè)橫向單元格,一個(gè)列具有一個(gè)或多個(gè)縱向單元格。一行中的每個(gè)單元格在位置上相關(guān)聯(lián),一列中的每個(gè)單元格也同樣。每一個(gè)單元格可以包含數(shù)據(jù)或用于顯示該單元格內(nèi)數(shù)據(jù)的表達(dá)式。為了重新安排矩陣中的信息,該電子數(shù)據(jù)表的矩陣能夠通過列或行進(jìn)行排序,以使數(shù)據(jù)顯示更具用戶友好性。多列表格是電子數(shù)據(jù)表的一種簡單形式,其中數(shù)據(jù)單元格的值直接為數(shù)據(jù)而非表達(dá)式。術(shù)語“表格”以及“電子數(shù)據(jù)表”將在本發(fā)明的說明書中交替使用。
當(dāng)電子數(shù)據(jù)表的行或列的數(shù)量變得巨大時(shí),以電子數(shù)據(jù)表形式顯示的數(shù)據(jù)通常難于使用。例如,當(dāng)電子數(shù)據(jù)表按列排序時(shí),其結(jié)果可能包含許多行具有該列單一數(shù)據(jù)屬性的行。一種行中包含用于紐約市的姓名、地址以及電話號(hào)碼的電子數(shù)據(jù)表,將導(dǎo)致具有上百萬行電子數(shù)據(jù)表的結(jié)果。對(duì)姓進(jìn)行排序?qū)⑹剐凶兊糜行?,但?duì)于例如瓊斯(Jones)或史密斯(Smith)這樣的姓將依舊存在數(shù)千行。電子數(shù)據(jù)表技術(shù)允許“隱藏”列或行,借以減小電子數(shù)據(jù)表可見部分的大小。這并未給我們的例子來帶明顯幫助,因?yàn)榧词挂恍┬幸呀?jīng)被隱藏,仍將存在上百萬行要被顯示。需要一種方法來改進(jìn)大型電子數(shù)據(jù)表的顯示。
現(xiàn)有的用于顯示相關(guān)信息的列表的用戶界面(UI)控制不提供適當(dāng)方法來對(duì)非常大量的信息加以組織并且瀏覽。在過去,電子數(shù)據(jù)表應(yīng)用程序已經(jīng)用于對(duì)相關(guān)信息的列表的顯示。
申請(qǐng)于1999年6月15日的美國專利No.6,526,399“數(shù)據(jù)庫分組與顯示的方法和系統(tǒng)”,以引用的方式并入本文中,該專利描述了一種數(shù)據(jù)庫的分組和顯示系統(tǒng),用于將數(shù)據(jù)根據(jù)行和列分組,以響應(yīng)用戶輸入。該數(shù)據(jù)庫分組與顯示系統(tǒng)顯示未經(jīng)處理、未加以分組的數(shù)據(jù)庫,并且允許用戶根據(jù)希望對(duì)其進(jìn)行操作。該系統(tǒng)在WEB瀏覽器的窗口中顯示該未經(jīng)處理的數(shù)據(jù)庫以及任何操作的結(jié)果,從而允許通過對(duì)普通并且廉價(jià)的程序的使用執(zhí)行數(shù)據(jù)分析。用戶可以對(duì)數(shù)據(jù)庫分組,以便在數(shù)據(jù)庫中根據(jù)普通數(shù)據(jù)記錄對(duì)記錄輸入項(xiàng)進(jìn)行分組。用戶可以根據(jù)行、列或行和列的組合對(duì)記錄輸入項(xiàng)分組。每個(gè)記錄輸入項(xiàng)的分組被稱為一個(gè)“元單元格”(metacell)。數(shù)據(jù)庫分組以及顯示系統(tǒng)可以進(jìn)一步對(duì)每個(gè)元單元格的內(nèi)容作摘要,并且連同顯示該元單元格一起顯示摘要結(jié)果。該摘要值通常對(duì)于所有的元單元格被調(diào)用,但可能選擇性地應(yīng)用于一個(gè)單獨(dú)的行、列、元單元格或者整個(gè)文檔。該元單元格的顯示狀態(tài)可以在全部展開和折疊模式之間進(jìn)行切換。在全部展開狀態(tài)下,元單元格中所有的記錄輸入項(xiàng),連同該元單元格的任何摘要值,都是可見的。在折疊狀態(tài)下,只有摘要值在元單元格中示出。這允許用戶查看其所需要的元單元格和或元單元格范圍的盡可能多或盡可能少的細(xì)節(jié)。所述方法不應(yīng)用于具有行/列矩陣關(guān)系的電子數(shù)據(jù)表。
美國專利NO.5,950,168“用于在電子病歷中顯示患者信息的可折疊流程圖”,該專利申請(qǐng)于1996年12月18日,以引用的方式并入本文中,該專利在一個(gè)實(shí)施方式中描述了一種用戶界面,該用戶界面于計(jì)算機(jī)顯示器上向醫(yī)療服務(wù)提供者顯示作為流程圖的病患數(shù)據(jù),該流程圖包括一個(gè)具有該分類是否處于折疊狀態(tài)或展開狀態(tài)的指示符的分類類別標(biāo)示的一個(gè)數(shù)組,該折疊狀態(tài)是這樣一個(gè)狀態(tài),即其中被標(biāo)識(shí)為隱藏的數(shù)據(jù)項(xiàng)的該分類中的數(shù)據(jù)項(xiàng)不被顯示,而全部展開狀態(tài)是這樣一種狀態(tài),其中被標(biāo)識(shí)為隱藏項(xiàng)的該分類的數(shù)據(jù)項(xiàng)仍被顯示。同時(shí)包括關(guān)聯(lián)于分類標(biāo)簽的其中至少一部分的數(shù)據(jù)項(xiàng)的層級(jí)結(jié)構(gòu),其中父數(shù)據(jù)項(xiàng)為在層級(jí)結(jié)構(gòu)中高于其他數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng),而子數(shù)據(jù)項(xiàng)為在層級(jí)結(jié)構(gòu)中在其他數(shù)據(jù)項(xiàng)之下的數(shù)據(jù)項(xiàng)。對(duì)于每個(gè)父數(shù)據(jù)項(xiàng),壓縮指示符被提供用于指示該父數(shù)據(jù)項(xiàng)是否處于壓縮狀態(tài)或未壓縮狀態(tài),該壓縮狀態(tài)是一種其中子數(shù)據(jù)項(xiàng)不在父數(shù)據(jù)項(xiàng)之下顯示的狀態(tài),而該未壓縮狀態(tài)是一種其中子數(shù)據(jù)項(xiàng)于父數(shù)據(jù)項(xiàng)之下顯示的狀態(tài)。并且,病患病史對(duì)應(yīng)的列也能夠被折疊和展開。該方法不應(yīng)用于具有行/列矩陣關(guān)系的電子數(shù)據(jù)表。
申請(qǐng)于1998年3月13日的美國專利No.6,205,453,即“用于在計(jì)算機(jī)中實(shí)施支持可選索引的多列列表的系統(tǒng)和方法”,以引用的方式并入本文,該專利描述了一種系統(tǒng)以及方法,用于在計(jì)算機(jī)系統(tǒng)的圖形用戶界面中實(shí)施支持可選索引的多列列表。該圖形用戶界面包含以列組織的輸入項(xiàng)的表。所述列被彼此鄰近地垂直顯示。用戶可選的豎線(分割線)能夠從最左一列的位置移動(dòng)至鄰近列之間的位置。當(dāng)一列處于該分割線和該最左列位置之間時(shí),該列能夠支持索引。單獨(dú)一列(例如,最左列)或多列能夠同時(shí)支持索引。通過列的重新排序,一列能夠位于分割線和最左列位置之間,例如,將分割線留在固定位置,并且從分割線右邊的位置拖動(dòng)并放置該列。通過使列索引可用,生成該列的項(xiàng)的索引,當(dāng)被索引時(shí),每個(gè)唯一的列項(xiàng)只通過索引項(xiàng)在該列中顯示一次。用戶可選的雙位置顯示(例如,三角,箭頭等)能被用于打開(展開)或關(guān)閉索引項(xiàng)。當(dāng)關(guān)閉索引項(xiàng)時(shí),索引項(xiàng)包含的所有信息都折疊于所述用戶界面。當(dāng)展開索引項(xiàng)時(shí),所述信息能夠在用戶界面中得以顯示。本發(fā)明更好地提供了樹形視圖的優(yōu)點(diǎn)(例如,在層級(jí)格式的數(shù)據(jù)中進(jìn)行搜索的簡便性),同時(shí)也提供了多列列表顯示的優(yōu)點(diǎn)(例如,信息顯示的容量)。
一些電子數(shù)據(jù)表的列之間不具有任何層級(jí)關(guān)系。即使其中存在某一關(guān)系,為了提供該層級(jí)格式,將表格的行向豎條的左側(cè)移動(dòng)時(shí),該移動(dòng)會(huì)混淆用戶對(duì)所熟悉的關(guān)系的感知。
需要一種改進(jìn)了的電子數(shù)據(jù)表顯示方法,從而有助于大型電子數(shù)據(jù)表的使用。
發(fā)明內(nèi)容
在本發(fā)明的一個(gè)方面,電子數(shù)據(jù)表(表格)是一種由用戶安排以提供單元格之間有用關(guān)系的信息的N×M單元格矩陣。單個(gè)單元格能夠被編輯、復(fù)制、粘貼等。在通常的應(yīng)用程序中,矩陣的行能夠根據(jù)所選擇的列中單元格的值對(duì)行進(jìn)行排序而安排。本發(fā)明提供一種由用戶控制行的折疊的方法,以便于對(duì)大型電子數(shù)據(jù)表進(jìn)行操作。因此,在所給行中具有共同的單元格的值的行可以被折疊為由單元格的值表示的單個(gè)行,并優(yōu)選地以高亮指示符指示該行為多行的折疊顯示。這種方法大大減少了每次顯示的行的數(shù)量。折疊的行能夠被展開,還原那些原始行的值。
因此本發(fā)明的一個(gè)目的是提供一種電子數(shù)據(jù)表,其中該電子數(shù)據(jù)表包括單個(gè)相鄰數(shù)據(jù)單元格的N×M矩陣,該數(shù)據(jù)單元格的矩陣形成多個(gè)N行以及多個(gè)M列,其中該矩陣的第一列通過用戶操作而被折疊,該第一列包括第一數(shù)據(jù)單元格,該單元格具有相應(yīng)第一數(shù)據(jù)單元格的值。
本發(fā)明的另一個(gè)目的是確定多個(gè)N行中具有重復(fù)的第一數(shù)據(jù)單元格的值的多個(gè)第一行,隨后折疊多個(gè)N行中所確定的多個(gè)第一行,以顯示表示所述多個(gè)第一行的單個(gè)折疊的行,從而隱藏所述多個(gè)第一行。
本發(fā)明的另一個(gè)目的是在折疊的第一行中的第一數(shù)據(jù)單元格顯示高亮,用以指示該行已被折疊。
優(yōu)選地,多個(gè)M列包括具有一個(gè)或多個(gè)第二列的矩陣的第一列,該第二列在所述矩陣中在所述第一列的左側(cè)。
本發(fā)明還有一個(gè)目的,是保持第二列不被折疊。
本發(fā)明的另一個(gè)目的是提供折疊的第一行,該第一行包括第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,其中可選地,除了折疊行的第一數(shù)據(jù)單元格的值之外的單元格的值被隱藏。
本發(fā)明的另一個(gè)目的是提供折疊的第一行,該第一行包括第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,其中可選地,除了折疊行的第一數(shù)據(jù)單元格的值之外的單元格的值被顯示。
本發(fā)明的另一個(gè)目的是提供折疊的第一行,該第一行包括第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,其中可選地,第一行中的一行被作為折疊的第一行選擇。
本發(fā)明的另一個(gè)目的是提供折疊的第一行,該第一行包括第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,其中可選地將第一行折疊前的行順序保存,繼而將折疊的第一行展開為所保存的折疊前的行順序。
本發(fā)明的另一個(gè)目的是提供折疊的第一行,該第一行包括第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,其中可選地將折疊的第一行以預(yù)定排序的第一單元格順序展開。
本發(fā)明還有一個(gè)目的是在多行中的一行中具有重復(fù)的第一數(shù)據(jù)單元格的值的第一數(shù)據(jù)單元格處顯示展開高亮,以指示該行被展開。
本發(fā)明進(jìn)一步的目的是執(zhí)行作為列排序操作一部分的折疊。
本發(fā)明的另一個(gè)目的是選擇單元格的一部分作為第一數(shù)據(jù)值。
本發(fā)明的另一個(gè)目的是提供折疊/展開的高亮顯示,該高亮顯示包括圖案、顏色、文本字符、陰影或經(jīng)修改的單元格值中的任一個(gè)。
本發(fā)明的另一個(gè)目的是提供一種電子數(shù)據(jù)表,該電子數(shù)據(jù)表是較大的電子數(shù)據(jù)表中選取出的一部份。
本發(fā)明的另一個(gè)目的是提供一個(gè)折疊的行,該行是相鄰行中被展開為其原始順序或者非相鄰行中被展開為其原始順序的任何一行。
本發(fā)明還有一個(gè)目的是根據(jù)布爾標(biāo)準(zhǔn)來折疊電子數(shù)據(jù)表的行。
本發(fā)明的另一個(gè)目的是提供布爾折疊的行,該行由特殊指示符標(biāo)以高亮,其中優(yōu)選地,該特殊指示符為一種指示布爾折疊標(biāo)準(zhǔn)的插件。
附加的特征以及有益效果通過本發(fā)明的技術(shù)方案實(shí)現(xiàn)。本發(fā)明其他的實(shí)施方式以及其他方面在下文詳細(xì)描述,并且被視為所要求發(fā)明的一部份。參考說明書以及附圖,能更好地理解本發(fā)明的有益效果以及技術(shù)特征。
本發(fā)明涉及的主題在說明書中具體指出,并在位于說明書的結(jié)束處的權(quán)利要求書中明確加以主張。前述內(nèi)容以及本發(fā)明的其他目的、特征和有益效果能夠從下面結(jié)合附圖的詳細(xì)描述中更清楚地看到圖1示出計(jì)算機(jī)系統(tǒng)的組件的示意圖;圖2示出計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)的示意圖;圖3至12示出根據(jù)本發(fā)明的一個(gè)示例電子數(shù)據(jù)表的圖示;圖13示出本發(fā)明的示例操作過程;圖14示出本發(fā)明的示例操作過程的流程圖;圖15示出本發(fā)明的示例的行顯示過程的流程圖;圖16示出本發(fā)明的示例的元素折疊過程的流程圖;圖17示出根據(jù)本發(fā)明的示例的折疊以及排序的流程圖;圖18示出本發(fā)明的示例的折疊過程的流程圖;圖19示出根據(jù)本發(fā)明的進(jìn)行行隱藏的流程圖;圖20示出將行折疊為空集的流程圖;以及圖21示出進(jìn)行行折疊以及行展開的流程圖。
通過參考附圖,詳細(xì)的描述解釋了本發(fā)明的優(yōu)選實(shí)施方式、有益效果以及特征。
具體實(shí)施例方式
圖1示出可以實(shí)施本發(fā)明的典型的工作站或服務(wù)器硬件系統(tǒng)。圖1中的系統(tǒng)100包括典型的計(jì)算機(jī)系統(tǒng)101,例如個(gè)人計(jì)算機(jī)、工作站或者服務(wù)器,包括可選的外圍設(shè)備。該工作站101包括一個(gè)或多個(gè)處理器106以及總線,依據(jù)已知的技術(shù),該總線用于所述處理器106和系統(tǒng)101的其它部件之間的連接并使其能夠通信??偩€將處理器106連接至內(nèi)存105以及長期存儲(chǔ)器107,所述長期存儲(chǔ)器可以包括例如硬盤驅(qū)動(dòng)器、磁盤驅(qū)動(dòng)器或者磁帶驅(qū)動(dòng)器。系統(tǒng)101也可以包括用戶接口適配器,該適配器通過總線將微處理器106連接至一個(gè)或多個(gè)接口設(shè)備,例如鍵盤104、鼠標(biāo)103、打印機(jī)/掃描儀110和/或其他接口設(shè)備,所述接口設(shè)備可以是任何的用戶接口設(shè)備,例如觸摸屏、數(shù)字輸入盤等??偩€還通過顯示適配器將例如液晶顯示屏或顯示器的顯示設(shè)備102連接至微處理器106。
系統(tǒng)101可以通過能夠與網(wǎng)絡(luò)109通信的網(wǎng)絡(luò)適配器與其他計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)通信。示例的網(wǎng)絡(luò)適配器為通信信道、令牌環(huán)、以太網(wǎng)或調(diào)制解調(diào)器??蛇x地,工作站101可以使用無線接口進(jìn)行通信,例如CDPD(蜂窩數(shù)字分組數(shù)據(jù))卡。工作站101可以關(guān)聯(lián)于其局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)內(nèi)的其他計(jì)算機(jī),或該工作站101能夠作為與另一臺(tái)計(jì)算機(jī)組成的客戶/服務(wù)器安排中的客戶端,等等。以上所有的配置,連同適當(dāng)?shù)耐ㄐ庞布约败浖?,都是圖2示出了可以實(shí)施本發(fā)明的數(shù)據(jù)處理網(wǎng)絡(luò)200。數(shù)據(jù)處理網(wǎng)絡(luò)200可以包括多個(gè)獨(dú)立網(wǎng)絡(luò),例如無線網(wǎng)絡(luò)以及有線網(wǎng)絡(luò),二者都可以包括多個(gè)獨(dú)立的工作站101。另外,本領(lǐng)域技術(shù)人員可以理解,其中包括一個(gè)或多個(gè)LAN,其中LAN可以包括連接于主處理器的智能工作站。
仍然參照?qǐng)D2,網(wǎng)絡(luò)還可以包括大型計(jì)算機(jī)或服務(wù)器,例如網(wǎng)關(guān)計(jì)算機(jī)(客戶服務(wù)器206)或應(yīng)用服務(wù)器(可以訪問數(shù)據(jù)儲(chǔ)存庫的遠(yuǎn)程服務(wù)器208)。網(wǎng)關(guān)計(jì)算機(jī)206作為進(jìn)入每個(gè)網(wǎng)絡(luò)207的一個(gè)點(diǎn)。將一個(gè)網(wǎng)絡(luò)協(xié)議連接于另一個(gè)的時(shí)候需要網(wǎng)關(guān)。網(wǎng)關(guān)206可以優(yōu)選地通過通信鏈路連接于另一網(wǎng)絡(luò)(例如因特網(wǎng)207)。網(wǎng)關(guān)206還可以使用通信鏈路直接連接于一個(gè)或多個(gè)工作站101。所述網(wǎng)關(guān)計(jì)算機(jī)可以使用IBM公司提供的IBM eSeries zSeries 900服務(wù)器加以實(shí)施。
包含本發(fā)明的軟件程序代碼,典型的由系統(tǒng)101的處理器106從諸如CD-ROM或硬盤驅(qū)動(dòng)器的長期存儲(chǔ)媒介107中獲取。該軟件程序代碼可以包含在多種已知的、同數(shù)據(jù)處理系統(tǒng)配合使用的介質(zhì)上,這些介質(zhì)例如為軟盤、硬盤或CD-ROM。代碼可以在此類介質(zhì)上被分發(fā),或者也可以通過網(wǎng)絡(luò)從來自一個(gè)通信系統(tǒng)的內(nèi)存或存儲(chǔ)器的用戶被分發(fā)給其它的計(jì)算機(jī)系統(tǒng),以便供其它系統(tǒng)的用戶使用。
可選地,程序代碼111可以包含在內(nèi)存105中,并且由處理器106使用處理器總線進(jìn)行訪問。所述程序代碼包括操作系統(tǒng),所述操作系統(tǒng)控制各種計(jì)算機(jī)組件的函數(shù)和交互作用以及一個(gè)或者多個(gè)應(yīng)用程序。程序代碼通常從高密度存儲(chǔ)介質(zhì)107中被頁面調(diào)入到高速內(nèi)存105中,在所述高速存儲(chǔ)器105中,它們可以由處理器106處理。用于將軟件程序代碼包含在內(nèi)存中、物理介質(zhì)上和/或通過網(wǎng)絡(luò)分發(fā)軟件代碼的技術(shù)和方法是公知的,在此不作進(jìn)一步討論。
下面對(duì)本發(fā)明用于在圖形用戶界面中實(shí)施選擇性可折疊的多列列表(或電子數(shù)據(jù)表)的系統(tǒng)和方法加以詳細(xì)描述,其中許多具體細(xì)節(jié)被闡明,以便使本發(fā)明被更充分的理解。然而對(duì)于本領(lǐng)域內(nèi)技術(shù)人員很明顯,沒有這些明確細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明。在其他情況中,沒有對(duì)公知的方法、過程、部件和電路進(jìn)行詳細(xì)描述,這是因?yàn)闆]有必要使得本發(fā)明的各個(gè)方面變得模糊。
下面在過程、邏輯塊、處理以及其他對(duì)計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)比特進(jìn)行操作的符號(hào)表示等方面對(duì)本發(fā)明進(jìn)行詳細(xì)描述。這些描述和表示是本領(lǐng)域技術(shù)人員在數(shù)據(jù)處理技術(shù)中使用的方法,用以將其工作主題最為有效地向其他技術(shù)人員表達(dá)。此處的過程、邏輯塊、處理、步驟等通常被設(shè)計(jì)為自相一致的步驟或指令的序列以帶來期望的結(jié)果。所述步驟是那些需要對(duì)物理量進(jìn)行物理操作的步驟。通常,雖然不必需,但這些量表現(xiàn)為能夠在計(jì)算機(jī)系統(tǒng)中被存儲(chǔ)、傳遞、組合、比較以及其他操作的電或磁信號(hào)的形式。這經(jīng)常被證明是方便的,主要由于普遍使用的原因,在將這些信號(hào)視作比特、值、元素、符號(hào)、字符、期間、數(shù)字或諸如此類。
但是應(yīng)該記住,所有這些以及類似的項(xiàng)是關(guān)聯(lián)于適當(dāng)?shù)奈锢砹康?,且僅僅是用于這些量的方便的標(biāo)簽。應(yīng)該認(rèn)識(shí)到,除非在下面的討論中明確地特別聲明,貫穿本發(fā)明的,利用例如“處理”、“計(jì)算”、“推算”、“確定”、“顯示”或諸如此類項(xiàng)的討論指的是計(jì)算機(jī)系統(tǒng)或類似的電子計(jì)算設(shè)備的活動(dòng)和處理,所述的電子計(jì)算設(shè)備將在計(jì)算機(jī)系統(tǒng)的寄存器和內(nèi)存內(nèi)被表達(dá)為物理(電)量的數(shù)據(jù)操縱和轉(zhuǎn)換為其他在計(jì)算機(jī)系統(tǒng)內(nèi)存或寄存器或其他此類信息存儲(chǔ)、傳輸或顯示設(shè)備中被表達(dá)為物理量的數(shù)據(jù)。
本發(fā)明提供了一種圖形用戶界面(GUI),用于向計(jì)算機(jī)系統(tǒng)的用戶顯示信息。本發(fā)明提供選擇性可折疊的多列列表(SCMCL)。該SCMCL支持用戶可選地將個(gè)別列設(shè)定為可折疊。如果沒有列可用,則在這種模式操作下的本發(fā)明就像一個(gè)標(biāo)準(zhǔn)的多列列表。本發(fā)明典型操作的模式為使一些列表的列可折疊,而另一些列則不可折疊。
優(yōu)選地,在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,當(dāng)一列被設(shè)定為可折疊時(shí),該列初始被默認(rèn)為已折疊。根據(jù)本發(fā)明,當(dāng)一列折疊時(shí)該列中的每一項(xiàng)僅被顯示一次。用戶能夠展開被折疊的項(xiàng)(當(dāng)項(xiàng)具有多于一個(gè)的實(shí)例時(shí))以見到該項(xiàng)所有的行實(shí)例。舉例而言,假定根據(jù)本發(fā)明的電子數(shù)據(jù)表包含500行,其中包括40個(gè)唯一的作者姓名實(shí)例,并且作者列是可折疊的。在這種情況下,所顯示的電子數(shù)據(jù)表將僅包含40行,其中作者列將僅僅包含40個(gè)唯一的作者姓名(例如,可折疊項(xiàng))而非500個(gè)作者姓名。每個(gè)唯一的作者姓名將附帶一個(gè)展開按鈕(屏幕上的圖形項(xiàng))。當(dāng)某一作者的該展開按鈕被選擇時(shí),本發(fā)明的電子數(shù)據(jù)表顯示(例如,展開而顯示)該作者的所有行。
根據(jù)本發(fā)明,電子數(shù)據(jù)表的任何列都能夠被設(shè)定為可折疊。在一種實(shí)施方式中,當(dāng)排序操作在可折疊的一列上加以執(zhí)行時(shí),電子數(shù)據(jù)表的行被折疊。
在另一種實(shí)施方式中,列被展開為原始行順序。
在另一種實(shí)施方式中,一組被選定的折疊行被展開為原始順序。
在另一種實(shí)施方式中,一組被選定的折疊行展開為經(jīng)排序的順序。
在另一種實(shí)施方式中,一組被選定的折疊行展開為整個(gè)矩陣中的原來相對(duì)位置,因此,在某些情況下該組展開行將與非該組的行有一些交錯(cuò)的行。
在一種實(shí)施方式中,根據(jù)列的組或全體列進(jìn)行的行折疊與行展開由圖形用戶界面的下拉式窗口進(jìn)行控制,該窗口用于響應(yīng)用戶對(duì)列插件或行插件的選擇而顯示選項(xiàng)。
本發(fā)明的選擇性可折疊的多列列表(SCMCL)優(yōu)選地支持順序排序。舉例而言,如果用戶將可折疊的一列加以排序,例如“姓名”列,接著對(duì)其右邊的例如“日期”列排序,結(jié)果中的行將按姓名排序,并且無論是否存在多于一次出現(xiàn)的姓名,它將按日期排序。這種實(shí)施方式能夠被擴(kuò)展到所有可折疊的列。
通過示例的方式,圖3描述了在計(jì)算機(jī)屏幕102上顯示的電子數(shù)據(jù)表301。電子數(shù)據(jù)表301包括302、303、304三列?!癆列”302、“B列”303以及“C列”304包括“可展開”插件306以及“可折疊”插件305。第一行307包括多個(gè)單元格,每行一個(gè)單元格。第一行307中單元格的值,位于第一列302的為“Butter”,位于第二列303的為“Dairy”以及第三列304為“Yellow”。顯示了7行,即307、308、309、310、311、312和313。
在圖4涉及的示例中,需要折疊第二列303。展開插件401在第二列303中被選擇,帶來電子數(shù)據(jù)表行根據(jù)第二列單元格的值加以排序。因此所有帶有乳制品這項(xiàng)的行是相鄰的;所有帶有水果這項(xiàng)的行是相鄰的。優(yōu)選的,指示符或高亮插件402、403、404應(yīng)用于電子數(shù)據(jù)表以顯示具有重復(fù)單元格值的表的開始。該高亮插件402、403、404能夠被用戶選擇,而使得具有相同的第二列401的值的相關(guān)行折疊。
圖5示出的示例電子數(shù)據(jù)表301,是用戶選擇水果項(xiàng)的高亮403的結(jié)果,該選擇導(dǎo)致了帶水果的行310、311折疊成為單獨(dú)一行。該水果項(xiàng)的高亮被修改以提供可視指示符501來表示水果項(xiàng)當(dāng)前被折疊。帶乳制品的行307、308、309以及帶昆蟲的行313未被折疊。
圖6示出圖5的電子數(shù)據(jù)表301,不同的是用戶進(jìn)一步將帶乳制品的行307、309、311的相關(guān)行折疊為單獨(dú)一行,并且相關(guān)乳制品的高亮402被修改為601以顯示已被折疊的這些行。
在該實(shí)施方式中,行607的單元格中的值是行307、309、311被折疊的結(jié)果,該值包含一個(gè)折疊行的單元格的值(優(yōu)選為第一行307的值)。
在另一種實(shí)施方式中,圖7示出經(jīng)折疊的帶水果的行701隱藏了所述的折疊行中的其余單元格702、703的值。
于是,當(dāng)圖8中帶乳制品的行801被折疊后,該行其余單元格的值也被隱藏。
在另一種實(shí)施方式中,僅對(duì)可折疊單元格中的值的一部分進(jìn)行分析以選取加以折疊的行。在圖9中,一種類似的電子數(shù)據(jù)表901,其在第二列303中包含姓名。在這種實(shí)施方式中,提示用戶在確定重復(fù)的行時(shí)使用單元格值的部分。這很有用,例如,當(dāng)列包含的日期包括月、日和年時(shí)。接著用戶可以通過選擇包含年份值的單元格數(shù)據(jù)位置折疊該電子數(shù)據(jù)表,從而僅僅顯示唯一的年份?,F(xiàn)在結(jié)合圖10,在我們的示例中,用戶選擇姓氏的前5個(gè)字符作為折疊基于的值。當(dāng)用戶折疊所選擇列(通過選擇折疊插件1007)的各行時(shí),僅具有該獨(dú)特的前5個(gè)字符的行1004、1005、1006得以在電子數(shù)據(jù)表901中顯示。在優(yōu)選的實(shí)施方式中,所述用于折疊的單元格值的一部分例如使用下劃線高亮標(biāo)出,如圖10中所示。注意,在本例中,帶Smithers的行910連同帶Smith的行907、908、912被折疊,這是由于他們都具有“Smith”這前5個(gè)相同的字符。
應(yīng)該注意,雖然作為折疊機(jī)制的一部分優(yōu)選模式根據(jù)所選列303的單元格內(nèi)容行進(jìn)行排序(圖11所示),另一個(gè)模式僅根據(jù)新的單元格內(nèi)容值的順序?qū)π羞M(jìn)行排序,如圖10中所示。
圖11A示出在一個(gè)實(shí)施例中已經(jīng)被折疊的圖10中的被折疊行,所述折疊行保持圖10中行的折疊行的順序以及具有與第二列303中的相同值的行的相對(duì)順序。
圖11B示出在一個(gè)實(shí)施例中已經(jīng)被擴(kuò)展的圖10中的折疊行,所述行根據(jù)第二行303的值進(jìn)行排序。
在一個(gè)優(yōu)選的實(shí)施方式中,用于折疊列的高亮插件一旦被選擇,就繼續(xù)顯示所選模式以進(jìn)一步指示所選擇的列303。列折疊高亮插件305、306對(duì)所有行進(jìn)行操作,而單元格高亮插件1004、1005、1006僅對(duì)重復(fù)的行進(jìn)行操作,如圖12中所示,其中,具有作為值的Jones的折疊行1006被展開以表示Jones1201行以及隨后的Joneson1202行。
在一個(gè)實(shí)施方式中,通過提供可選擇的陰影、文本顏色、背景顏色或水平線,對(duì)共享所選列的重復(fù)單元格的值的行的每個(gè)組的行進(jìn)行高亮顯示。
在一個(gè)實(shí)施方式中,前述實(shí)施例中的三角形圖標(biāo)可以是包括+/-等等的其它的圖標(biāo)形式,正如本領(lǐng)域內(nèi)技術(shù)人員所公知的。
用戶可以選擇連續(xù)地折疊多個(gè)列。在一種實(shí)施方式中,第二個(gè)被折疊的列保留前一個(gè)被折疊的列的被折疊的形式。應(yīng)該理解,對(duì)于要被折疊的列沒有接近的要求。所述電子數(shù)據(jù)表的任何列可以被選擇來進(jìn)行折疊,而不需要重新排列這些列。事實(shí)上,非鄰接的列可能被選擇用于多列的折疊。而且,通過繪制將要對(duì)其進(jìn)行操作的電子數(shù)據(jù)表的區(qū)域并繼而執(zhí)行折疊/展開功能,所述數(shù)據(jù)電子數(shù)據(jù)表的一部分可以被折疊/展開。
在一個(gè)實(shí)施方式中,折疊由布爾操作符執(zhí)行。因此,用戶在折疊機(jī)制中提供一個(gè)布爾輸入,電子數(shù)據(jù)表據(jù)此得以折疊。在我們的例子中,所有在B列具有“乳制品”而在C列中具有“Yellow”的行,基于B=“Dairy”<and>C=“Yellow”的布爾輸入而被折疊。在另一個(gè)例子中,該布爾函數(shù)可以是一個(gè)范圍,因此,B=“Dairy”<and>C>“y”<and>C<“z”將導(dǎo)致所有B列為“Dairy”C列以“y”開頭的行被折疊到一個(gè)單一的行中。在一個(gè)實(shí)施方式中,被折疊的行將帶有用于布爾函數(shù)的特殊高亮,這將幫助用戶了解其內(nèi)容。例如,該高亮可能是一個(gè)“**”,這是一個(gè)展開以顯示布爾方程的窗口插件。
根據(jù)圖13,用戶從步驟1300開始,使用一種已知方法實(shí)現(xiàn)生成電子表格的步驟1301。當(dāng)所生成的電子數(shù)據(jù)表正由用戶操作時(shí),在步驟1302它被顯示于用戶計(jì)算機(jī)系統(tǒng)上。用戶確定即使按現(xiàn)有方法對(duì)各種列進(jìn)行排序和隱藏之后該非常龐大的電子數(shù)據(jù)表依然難于處理。用戶在步驟1303選擇電子數(shù)據(jù)表的一列以便利用本發(fā)明進(jìn)行折疊??蛇x的,步驟1308中用戶可以選擇對(duì)正在被折疊的所選擇的列的行進(jìn)行排序,并在步驟1302顯示排序結(jié)果。在步驟1305,利用本發(fā)明的應(yīng)用程序?yàn)閱卧竦闹翟谒x擇的列中確定具有重復(fù)單元格的行,并在步驟1304中,對(duì)任何所確定的被發(fā)現(xiàn)具有該值的行進(jìn)行折疊。在步驟1307,該應(yīng)用程序確定是否在所述列中存在任何其他未被折疊的單元格的值,如果存在,則在步驟1305中為該新值確定具有重復(fù)單元格的行。當(dāng)在步驟1307中應(yīng)用程序確定該列中沒有更多的單元格值要被折疊時(shí),應(yīng)用程序在步驟1302顯示作為結(jié)果的具有被折疊的行的電子數(shù)據(jù)表,并且在步驟1306中將控制返回給用戶。優(yōu)選的,步驟1304中折疊的行用窗口插件高亮顯示以指示該行可被展開(通過選擇該窗口插件)。
圖14描述了一個(gè)示例實(shí)施例的流程。該系統(tǒng)首先在步驟1401中繪制列表數(shù)據(jù)(電子數(shù)據(jù)表)的顯示。然后用戶可以根據(jù)各數(shù)據(jù)行的狀態(tài)進(jìn)行排序、折疊或展開。
在這個(gè)實(shí)施方式中,所述表格(電子數(shù)據(jù)表)的每一個(gè)元素(或單元格)保持其潛在管理的被折疊行的列表。當(dāng)一行被折疊時(shí),它從可視行中被移除,并被放入被折疊的行的該元素的內(nèi)部列表中。當(dāng)一個(gè)行被展開時(shí),它的內(nèi)部列表被清除,并且該被折疊的行被放回可視行的列表中。用戶的主要交互操作是選擇一個(gè)列并對(duì)其排序(或排序并折疊),選擇一個(gè)元素并對(duì)其排序(或排序并折疊),或者選擇控制鄰近類似行的折疊和展開的圖標(biāo)。只有在有可以折疊或展開的對(duì)象時(shí),這些圖標(biāo)才會(huì)被顯示,并且那些算法中的決策點(diǎn)才是可用的。
在本例中,在步驟1401,所述用戶顯示電子數(shù)據(jù)表,優(yōu)選地響應(yīng)GUI提示,在步驟1402,所述用戶選擇對(duì)所選擇列的電子數(shù)據(jù)表的元素進(jìn)行折疊。作為響應(yīng),在步驟1403中應(yīng)用程序根據(jù)被選擇列的單元格對(duì)所述行進(jìn)行排序,然后在步驟1404中折疊在所選擇列的單元格中具有相同值的行,并且在步驟1401中顯示折疊的電子數(shù)據(jù)表結(jié)果。
所述用戶也可以選擇步驟1405進(jìn)行排序作為替代。在步驟1406,所述應(yīng)用程序基于被選擇列的所述單元格對(duì)所述行進(jìn)行排序,并在步驟1401中顯示被排序電子數(shù)據(jù)表的結(jié)果。
所述用戶也可以選擇步驟1407折疊用圖標(biāo)標(biāo)記的元素作為替代。在步驟1408中所述應(yīng)用程序?qū)⒄郫B同該圖標(biāo)相關(guān)聯(lián)的行。
作為代替,所述用戶可能選擇在步驟1409中通過選擇展開圖標(biāo)展開折疊的行。在步驟1410中應(yīng)用程序?qū)⒄归_與圖標(biāo)相關(guān)聯(lián)的行。
優(yōu)選地,折疊操作的順序被保持。這用于當(dāng)展開它們時(shí)反轉(zhuǎn)折疊操作的順序。一個(gè)變量保持當(dāng)前被排序的列的身份。
用在示例算法中的變量currentRow在顯示元素過程中正在被繪制的當(dāng)前行;collapsedRows每個(gè)元素保持潛在的被折疊行的列表;visibleRows在表格中當(dāng)前可見行的列表;sortedColumn當(dāng)前被排序的列繪制顯示現(xiàn)在參照?qǐng)D15和圖16,初始步驟1500,該系統(tǒng)繪制所述表格(或電子數(shù)據(jù)表)數(shù)據(jù)。步驟1501中該繪制在visibleRows的列表上循環(huán)進(jìn)行,在循環(huán)中將currentRow設(shè)置為下一行。在步驟1502中,繪制該行,并且在步驟1602中,將行中的每個(gè)元素繪制在其適當(dāng)?shù)牧兄?。如果在步驟1603,行中的具體元素具有它正保持的CollapsedRows集,則在步驟1604,圖標(biāo)被放置靠近該元素以指示它能夠在算法的隨后的步驟中被展開。如果步驟1603中的元素沒有保持collapsedRows的列表,并且在步驟1605中存在類似的行(基于sortedColumn的值),則在步驟1606標(biāo)記被緊鄰所述元素放置,以指示該元素(以及在其下面類似的元素)可以在該算法的后續(xù)步驟中被折疊。該過程在所有可見行上繼續(xù)。
排序參照?qǐng)D17,為了在步驟1700中啟動(dòng)排序步驟1701,在一個(gè)實(shí)施例中,用戶在步驟1702中選擇執(zhí)行步驟1703,即折疊列的所有行,因此選擇行的標(biāo)題。所述用戶也可以在步驟1702中選擇一個(gè)元素并使用文本菜單(右鍵菜單)來對(duì)所述行排序。sortedColumn被設(shè)置為所選擇的列。所述系統(tǒng)隨后基于sortedColumn列中的值對(duì)所有的行進(jìn)行排序。這在包含列表數(shù)據(jù)的插件行業(yè)中是標(biāo)準(zhǔn)。根據(jù)用戶的優(yōu)選,步驟1703中,該系統(tǒng)也可以自動(dòng)地折疊所有在sortedColumn中具有類似值的行。
折疊參照?qǐng)D18和圖19,在步驟1800,用戶通過點(diǎn)擊標(biāo)志啟動(dòng)所述算法的折疊步驟,以折疊連續(xù)的行的集合??蛇x的,用戶能夠選擇上下文菜單以在步驟1802中折疊數(shù)據(jù)中的具體元素。所述應(yīng)用程序?qū)⒗^續(xù)執(zhí)行步驟1801來折疊所述行直至在步驟1801中再也找不到行。所述應(yīng)用程序?qū)?yōu)選地在步驟1901和1902中收集第一行之后的類似行,在步驟1903中從visibleRows中移除類似行,在步驟1904中將類似的行添加到元素集的CollapseRows,直至在步驟1902中不能找到類似的行。這將根據(jù)所選擇元素的列對(duì)數(shù)據(jù)排序,并且自動(dòng)地折疊具有類似值的行。
展開參照?qǐng)D20,在步驟2000,通過點(diǎn)擊圖標(biāo)以展開先前被折疊的行的集合,用戶啟動(dòng)所述算法的展開步驟。在步驟2001,被折疊的行被添加回visibleRows的集合。該數(shù)據(jù)被重新繪制,將該圖標(biāo)改變?yōu)檎归_圖標(biāo)。在步驟2002中,所述collapsedRows元素被設(shè)置為空集。
通過排序和折疊另外的列,所述過程可以繼續(xù)。當(dāng)另外的列被排序和折疊時(shí),所述展開以相反的順序出現(xiàn),該順序與折疊操作的順序相反。
參照?qǐng)D21,用戶能夠選擇元素以便進(jìn)行折疊或者展開。在步驟2101中所述數(shù)據(jù)被顯示,并且優(yōu)選地,在步驟2102中,圖形用戶接口和用戶提供一種選擇元素以進(jìn)行折疊的機(jī)制。在步驟2103,所述應(yīng)用程序隱藏具有被選擇的元素單元格的值的行,并且在步驟2101中,不包含被隱藏行的電子數(shù)據(jù)表格被繪制在顯示器上。所述應(yīng)用程序在內(nèi)部文件中用“off”指示符標(biāo)記對(duì)應(yīng)的行,應(yīng)用程序用這些指示符記錄是否顯示該行。優(yōu)選地,應(yīng)用程序在所選擇的單元格上插入插件,指示該行為被折疊的行。另一方面,在步驟2104,用戶可以選擇展開被折疊的行。在步驟2104,用戶選擇所述被折疊的行的一個(gè)插件(該插件關(guān)聯(lián)于該行在其周圍被折疊的被折疊行的單元格)。在步驟2103,所述應(yīng)用程序通過用“on”指示符標(biāo)記內(nèi)部文件使得所述被隱藏的單元格變?yōu)榭梢?,該?yīng)用程序用該指示符記住是否顯示該行,并且在步驟2101繪制具有先前被隱藏單元格的電子數(shù)據(jù)表格。
在一個(gè)實(shí)施方式中,任何元素對(duì)于所述被折疊的項(xiàng)都可以是“有代表性的”(即,用戶可以選擇任何行并且它可以成為被折疊集的頂部)。
在一個(gè)實(shí)施方式中,所述系統(tǒng)能夠自動(dòng)隱藏給定列中所有非唯一的行。唯一的行的順序保持原樣。當(dāng)用戶展開所述集合時(shí),它們?cè)谀切┯写硇缘男邢旅娉霈F(xiàn)。
在另一個(gè)實(shí)施方式中,所述過程開始于用戶從菜單中選擇(在行元素上點(diǎn)擊右鍵)折疊命令。這將用一個(gè)用戶動(dòng)作自動(dòng)地排序和折疊所有帶有類似數(shù)據(jù)的行。
在另一個(gè)實(shí)施方式中,可能反轉(zhuǎn)行和列并在水平方向上而不是垂直方向上產(chǎn)生類似的折疊和展開的效果。
流程圖于此處示出的僅僅為示例。可能存在許多對(duì)這里所描述的這些圖表或步驟(或操作)的變形,這并不脫離本發(fā)明的精神。例如,這些步驟可能按照一種不同的順序執(zhí)行,或者步驟可能被添加、刪減或者修改。所有這些變化都被視作發(fā)明要求保護(hù)的一部分。
盡管本發(fā)明的優(yōu)選的實(shí)施方式已經(jīng)在這里進(jìn)行了顯示和描述,但應(yīng)該理解本發(fā)明不限于此處公開的精確的結(jié)構(gòu),并且“保留”在以下權(quán)利要求中被定義的本發(fā)明的范圍內(nèi)進(jìn)行改變和調(diào)整的權(quán)利。
權(quán)利要求
1.一種用于顯示電子數(shù)據(jù)表的計(jì)算機(jī)實(shí)現(xiàn)方法,所述方法包括以下步驟a)生成并顯示所述電子數(shù)據(jù)表,所述電子數(shù)據(jù)表包括單個(gè)相鄰數(shù)據(jù)單元格的N×M矩陣,該數(shù)據(jù)單元格矩陣形成多個(gè)N行以及多個(gè)M列;b)選擇所述矩陣的第一列進(jìn)行折疊,所述第一列包括具有相應(yīng)第一數(shù)據(jù)單元格的值的第一數(shù)據(jù)單元格;c)確定所述多個(gè)N行中具有重復(fù)的第一數(shù)據(jù)單元格的值的多個(gè)第一行;d)折疊多個(gè)N行中所確定的多個(gè)第一行,以顯示表示所述多個(gè)第一行的單個(gè)折疊的行,從而隱藏所述多個(gè)第一行;e)在所述折疊的第一行的所述第一數(shù)據(jù)單元格處顯示高亮,以指示所述行被折疊;以及f)對(duì)所述第一列的每個(gè)第一數(shù)據(jù)單元格的值重復(fù)執(zhí)行步驟c)至步驟e)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述多個(gè)M列包括所述具有一個(gè)或多個(gè)第二列的矩陣的第一列,所述第二列在所述矩陣中在所述第一列的左側(cè)。
3.根據(jù)權(quán)利要求2所述的方法,其中所述第二列未被折疊。
4.根據(jù)權(quán)利要求1所述的方法,其中所述折疊的第一行包括所述第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,所述方法進(jìn)一步包括由以下步驟中的任何步驟組成的步驟隱藏除了所述折疊的行中所述第一數(shù)據(jù)單元格的值之外的單元格的值;顯示所述除了所述折疊的行中所述第一數(shù)據(jù)單元格的值之外的單元格的值;選擇所述第一行中的一行作為所述折疊的第一行;保存折疊前所述第一行的行順序,繼而將所述折疊的第一行展開為所述折疊前的行順序;或?qū)⑺稣郫B的第一行以預(yù)定排序的第一單元格順序展開。
5.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括步驟在所述多行中的一行中具有重復(fù)的第一數(shù)據(jù)單元格的值的第一數(shù)據(jù)單元格處顯示展開高亮。
6.根據(jù)權(quán)利要求1所述的方法,其中所述折疊作為列排序操作的一部分而被執(zhí)行。
7.根據(jù)權(quán)利要求1所述的方法,還包括選擇單元格中的一部分作為所述第一數(shù)據(jù)值的步驟。
8.根據(jù)權(quán)利要求1所述的方法,其中所述高亮包括圖案、顏色、文本字符、陰影或經(jīng)修改的單元格值中的任一個(gè)。
9.根據(jù)權(quán)利要求1所述的方法,其中電子數(shù)據(jù)表為更大電子數(shù)據(jù)表中被選取的一部分。
10.根據(jù)權(quán)利要求1所述的方法,其中折疊的行是相鄰行中被展開為其原始順序或者非相鄰行中被展開為其原始順序的任何一行。
11.根據(jù)權(quán)利要求1所述的方法,其中所述電子數(shù)據(jù)表的行根據(jù)布爾標(biāo)準(zhǔn)被折疊。
12.根據(jù)權(quán)利要求11所述的方法,其中經(jīng)布爾折疊的行由特殊指示符高亮標(biāo)出。
13.根據(jù)權(quán)利要求12所述的方法,其中所述特殊指示符為一種指示布爾折疊標(biāo)準(zhǔn)的窗口插件。
14.一種用于顯示電子數(shù)據(jù)表的計(jì)算機(jī)程序成品,所述計(jì)算機(jī)程序產(chǎn)品包括處理電路可讀的存儲(chǔ)媒介以及由處理電路執(zhí)行的存儲(chǔ)指令,用于執(zhí)行一種方法,所述方法包括用于顯示電子數(shù)據(jù)表的計(jì)算機(jī)實(shí)現(xiàn)方法,所述方法包括根據(jù)前述權(quán)利要求中任何一種方法的步驟。
15.一種用于顯示電子數(shù)據(jù)表的系統(tǒng),所述系統(tǒng)包括網(wǎng)絡(luò);與所述網(wǎng)絡(luò)通信的第一計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)包括用于執(zhí)行一種方法的指令,所述方法包括以下步驟a)生成并顯示所述電子數(shù)據(jù)表,所述電子數(shù)據(jù)表包括單個(gè)相鄰數(shù)據(jù)單元格的N×M矩陣,該數(shù)據(jù)單元格矩陣形成多個(gè)N行以及多個(gè)M列;b)選擇所述矩陣的第一列進(jìn)行折疊,所述第一列包括具有相應(yīng)第一數(shù)據(jù)單元格的值的第一數(shù)據(jù)單元格;c)確定所述多個(gè)N行中具有重復(fù)的第一數(shù)據(jù)單元格的值的多個(gè)第一行;d)折疊多個(gè)N行中所確定的多個(gè)第一行,以顯示代表所述多個(gè)第一行的單個(gè)被折疊的行,從而隱藏所述多個(gè)第一行;e)在所述折疊的第一行的所述第一數(shù)據(jù)單元格處顯示高亮,以指示所述行被折疊;以及f)對(duì)所述第一列的每個(gè)第一數(shù)據(jù)單元格的值重復(fù)執(zhí)行步驟c)至步驟e)。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述多個(gè)M列包括所述具有一個(gè)或多個(gè)第二列的矩陣的第一列,所述第二列在所述矩陣中在所述第一列的左側(cè),其中所述第二列未被折疊。
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述折疊的第一行包括所述第一數(shù)據(jù)單元格以及一個(gè)或多個(gè)第二數(shù)據(jù)單元格,所述系統(tǒng)進(jìn)一步包括由以下步驟中的任何步驟組成的步驟隱藏除了所述折疊的行中所述第一數(shù)據(jù)單元格的值之外的單元格的值;顯示所述除了所述折疊的行中所述第一數(shù)據(jù)單元格的值之外的單元格的值;選擇所述第一行中的一行作為所述折疊的第一行;保存折疊前所述第一行的行順序,繼而將所述折疊的第一行展開為所述折疊前的行順序;或?qū)⑺稣郫B的第一行以預(yù)定排序的第一單元格順序展開。
全文摘要
圖形用戶界面所顯示的電子數(shù)據(jù)表中被選擇的行基于列的值被折疊,使得在所選列中所有具有相同值的行被顯示為單個(gè)折疊的行,所述折疊的行具有用以指示該行已被折疊的指示符。所述電子數(shù)據(jù)表中所有行的所有列的值能夠被折疊,或者單個(gè)列的值也能夠被折疊。被折疊的行可以為所有行或所選的行展開。所述展開的行可以被排序,保持原始順序但按照列的值分組,或者可以將帶有不同值的行按原始順序顯示。
文檔編號(hào)G06F17/24GK1920810SQ20061008276
公開日2007年2月28日 申請(qǐng)日期2006年5月25日 優(yōu)先權(quán)日2005年8月23日
發(fā)明者阿利斯特·劉易斯·鮑恩, 路易斯·M·韋茨曼 申請(qǐng)人:國際商業(yè)機(jī)器公司