A technique for displaying information from related tables of a database in different display windows on a display screen associated with a computer system is disclosed. The different display windows are interlinked such that a selection of one or more entries in one of the display windows causes the other of the display windows to distinguishably and orderly display those entries that are related to the selection. A graphical user interface (GUI) in which a main screen is produced having the interlinked display windows is also disclosed.
|
8. A method for displaying data on a display device of a computer system, the data being obtained from tables in a database associated with the computer system, the display device having a plurality of display areas, said method comprising the operations of:
(a) displaying entries from the database in the display areas;
(b) determining whether a selection of one or more entries being displayed in a particular one of the display areas has occurred;
(c) obtaining a key from the database in accordance with the selection;
(d) notifying the other of the display areas of the key; and
(e) updating the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key with those entries that are not associated with the key.
0. 47. A method for displaying data on a display device, comprising:
storing tables of data;
displaying, in each of a plurality of display areas, data items from an associated table;
retrieving data items from at least one of a plurality of tables;
displaying the retrieved data items in at least one of a plurality of display areas each of the display areas corresponding to one of the tables;
detecting a selection of a displayed data item within a selected one of the display areas by a user; and
automatically modifying the data items being displayed in the other of the display areas in accordance with the selected data item by retrieving those data items that are related to the selected data item, and by displaying the retrieved data items in the other of the display areas in a visually distinct manner as compared to displayed data items that are unrelated to the selected data item.
0. 44. A computer system, comprising:
a storage device, for storing tables of data;
a display device, said display device having a plurality of display areas, each of the display areas displaying data items from an associated table; and
a processor unit, operating to retrieve the data items from the corresponding associated tables and then display the retrieved data items in the display areas corresponding thereto, and to detect a selection of a displayed data item within a selected one of the display areas by a user and thereafter to automatically modify the data items being displayed in the other of the display areas in accordance with the selected data item by retrieving those data items that are related to the selected data item, and by displaying the retrieved data items in the other of the display areas in a visually distinct manner as compared to displayed data items that are unrelated to the selected data item.
0. 27. A system for displaying data, comprising:
a processor, for providing data to be displayed, the data being obtained from tables in a database associated with the computer system;
an input device, coupled to the processor, for receiving user selection of at least one displayed entry; and
a display device, coupled to the processor, for displaying entries from the database in the display areas, the display device having a plurality of display areas;
wherein, responsive to the input device receiving a selection of one or more entries being displayed in a particular one of the display areas,
the processor obtains a key from the database in accordance with the selection and notifies the other of the display areas of the key; and
the display device updates the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key with those entries that are not associated with the key.
0. 65. A method for displaying data on a display device of a computer system, the data being obtained from tables, the display device having a plurality of display areas, said method comprising the operations of:
(a) displaying entries in the display areas;
(b) receiving a selection of one or more entries being displayed in a particular one of the display areas;
(c) updating the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged; wherein updating (c) comprises:
(c1) accessing a database to obtain the retrieved entries in the other of the display areas; and
(c2) displaying the retrieved entries in the other of the display areas, with those of the entries that are associated with the selection being distinguishably displayed from those entries that are not associated with the selection.
0. 55. A method for displaying data on a display device, comprising:
displaying, in a first display window of a first display area, a first type of data in multiple rows and columns; and
displaying, in a second display window of a second display area, a second type of data in multiple rows and columns,
receiving a selection of at least one of the rows in the first data window, and
responsive to the selection, automatically causing rows in the second data window that are associated with the first selection to be visually changed and for other of the rows not associated with the first selection to remain visually unchanged; and
displaying, in a third display window of a third display area, a third type of data in multiple rows and columns; and
responsive to the selection, automatically causing rows in the third data window that are associated with the first selection to be visually distinguished from other of the rows in the third data window.
0. 59. A method for displaying data on a display device of a computer system, the data being obtained from a database associated with the computer system, said method comprising:
displaying a plurality of display areas, each of the display areas comprising a list of data records from an associated table within the database; and
interlinking the display areas via the database such that a selection of certain of the displayed data records from the list in one of the display areas causes one or more data records displayed in at least one of the other display areas that are associated with the selection to be identified in a visually distinct manner, said interlinking comprising:
accessing the database to retrieve those data records that correspond to the selection;
and displaying the data records in at least one of the other display areas,
wherein said interlinking of the display areas is achieved in accordance with at least the relationship between the associated tables of the database.
15. A computer readable media containing program instructions for displaying data on a display device of a computer system, the data being obtained from tables in a database associated with the computer system, the display device having a plurality of display areas, said computer readable media comprising:
first computer readable code devices for displaying entries from the database in the display area;
second computer readable code devices for determining whether a selection of one or more entries being displayed in a particular one of the display areas has occurred;
second third computer readable code devices for obtaining a key from the database in accordance with the selection;
third fourth computer readable code devices for notifying the other of the display areas of the key; and
fourth fifth computer readable code devices for updating the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key from those entries that are not associated with the key.
0. 35. A method for displaying data, comprising:
displaying, in a first display area having a first label and a first data window, a first type of data in multiple rows and columns, wherein the first label identifies the first type of data;
displaying, in a second display area having a second label and a second data window, a second type of data in multiple rows and columns, wherein the second label identifies the second type of data;
receiving one of a first selection of at least one of the rows in the first data window and a second selection of at least one of the rows in the second data window;
responsive to a first selection of at least one of the rows in the first data window, visually distinguishing the rows in the second data window that are associated with the first selection from other of the rows; and
responsive to a second selection of at least one of the rows in the second data window, visually distinguishing the rows in the first data window that are associated with the second selection from other of the rows.
0. 61. A system for displaying related information, comprising:
an input device, for receiving a user selection;
a processor, coupled to the input device, for obtaining from a database data records that correspond to the selection;
a display device, coupled to the processor, for displaying data in a plurality of display areas, each of the display areas displaying a list of data records from an associated table within the database, wherein the display areas are interlinked via the database such that, in response to the received user selection of certain of the displayed data records from the list in one of the display areas, the display device displays one or more data records in at least one of the other display areas that are associated with the selection in a visually distinct manner, and further respectively displays the data records in at least one of the other display areas,
wherein said interlinking of the display areas is achieved in accordance with at least the relationship between the associated tables of the database.
3. A computer system, comprising:
a database containing tables of data;
a display device, said display device having a plurality of display areas, each of the display areas displays data items from an associated table within said database; and
a processor unit, said processor unit operates to access said database to retrieve the data items from the corresponding associated tables and then display the retrieved data items in the display areas corresponding thereto, and to detect a selection of a displayed data item within a selected one of the display areas by a user and thereafter to automatically modify the data items being displayed in the other of the display areas in accordance with the selected data item by obtaining a key from the database in accordance with the selected data item, notifying the other of the display areas of the key, and updating the data items in the other of the display areas so as to visually distinguish those of the data items that are associated with the key from those data items that are not associated with the key.
0. 50. A computer program product for displaying data on a display device, comprising:
a computer readable medium; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
storing tables of data;
displaying, in each of a plurality of display areas, data items from an associated table;
retrieving data items from at least one of a plurality of tables;
displaying the retrieved data items in at least one of a plurality of display areas, each of the display areas corresponding to one of the tables;
detecting a selection of a displayed data item within a selected one of the display areas by a user; and
automatically modifying the data items being displayed in the other of the display areas in accordance with the selected data item by retrieving those data items that are related to the selected data item, and by displaying the retrieved data items in the other of the display areas in a visually distinct manner as compared to displayed data items that are unrelated to the selected data item.
0. 66. A method for displaying data on a display device of a computer system, the data being obtained from tables, the display device having a plurality of display areas, said method comprising the operations of:
(a) displaying entries in the display areas;
(b) receiving a selection of one or more entries being displayed in a particular one of the display areas;
(c) updating the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged; wherein updating (c) comprises, for each of the other of the display areas, the operations of:
(c1) retrieving, from an associated table, a first set of entries that are associated with the selection;
(c2) retrieving, from the associated table, a second set of entries that are not associated with the selection; and
(c3) displaying the first and second sets of entries in the corresponding display area with the first set of entries being distinguishably displayed from the second set of entries.
0. 69. A system for displaying data, comprising:
a processor, for providing data to be displayed;
an input device, coupled to the processor, for receiving user selection of at least one displayed entry; and
a display device, coupled to the processor, for displaying entries in the display areas, the display device having a plurality of display areas;
wherein, responsive to the input device receiving a selection of one or more entries being displayed in a particular one of the display areas,
the display device automatically updates the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged; wherein the processor updates the entries by accessing a database to obtain the retrieved entries in the other of the display areas, and the display device displays the retrieved entries in the other of the display areas, with those of the entries that are associated with the selection being distinguishably displayed from those entries that are not associated with the selection.
4. A graphical user interface for a display screen of a computer, said graphical user interface comprising:
a first display area having a first label and a first data window, the first data window displays a first type of data in multiple rows and columns, and the first label identifies the first type of data; and
a second display area having a second label and a second data window, the second data window displays a second type of data in multiple rows and columns, and the second label identifies the second type of data,
wherein one of a first selection of at least one of the rows in the first data window and a second selection of at least one of the rows in the second data window can be made,
wherein the first selection of at least one of the rows in the first data window automatically causes the rows in the second data window that are associated with the first selection to be visually distinguished from other of the rows, and
wherein the second selection of at least one of the rows in the second data window automatically causes the rows in the first data window that are associated with the second selection to be visually distinguished from other of the rows.
0. 63. A computer program product for displaying data on a display device of a computer system, the data being obtained from a database associated with the computer system, said computer program product comprising:
a computer readable medium; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
displaying a plurality of display areas, each of the display areas comprising a list of data records from an associated table within the database; and
interlinking the display areas via the database such that a selection of certain of the displayed data records from the list in one of the display areas causes one or more data records displayed in at least one of the other display areas that are associated with the selection to be identified in a visually distinct manner, said interlinking comprising:
accessing the database to retrieve those data records that correspond to the selection;
and displaying the data records in at least one of the other display areas,
wherein said interlinking of the display areas is achieved in accordance with at least the relationship between the associated tables of the database.
7. A method for displaying data on a display device of a computer system, the data being obtained from a database associated with the computer system, said method comprising:
providing the display device with a plurality of display areas, each of the display areas displays a list of data records from an associated table within the database; and
interlinking the display areas via the database such that a selection of certain of the displayed data records from the list in one of the display areas causes one or more data records displayed in at least one of the other display areas that are associated with the selection to be identified in a visually distinct manner, said interlinking including the operations of accessing the database to retrieve data records in two groups, those data records that correspond to the election and those data records that do not, ordering the data records within each of the groups separately, and respectively displaying the ordered data records for each of the groups in at least one of the other display areas,
wherein said interlinking of the display areas is achieved in accordance with at least the relationship between the associated tables of the database.
0. 39. A computer program product for displaying related information, comprising:
a computer readable medium; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
displaying, in a first display area having a first label and a first data window, a first type of data in multiple rows and columns, wherein the first label identifies the first type of data;
displaying, in a second display area having a second label and a second data window, a second type of data in multiple rows and columns, wherein the second label identifies the second type of data;
receiving one of a first selection of at least one of the rows in the first data window and a second selection of at least one of the rows in the second data window;
responsive to a first selection of at least one of the rows in the first data window, visually distinguishing the rows in the second data window that are associated with the first selection from other of the rows; and
responsive to a second selection of at least one of the rows in the second data window, visually distinguishing the rows in the first data window that are associated with the second selection from other of the rows.
0. 57. A computer program product for displaying data on a display device, comprising:
a computer readable medium; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
displaying, in a first display window of a first display area, a first type of data in multiple rows and columns;
displaying, in a second display window of a second display area, a second type of data in multiple rows and columns;
receiving a selection of at least one of the rows in the first data window,
responsive to the selection, automatically causing rows in the second data window that are associated with the first selection to be visually changed and for other of the rows not associated with the first selection to remain visually unchanged; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
displaying, in a third display window of a third display area, a third type of data in multiple rows and columns; and
responsive to the selection, automatically causing rows in the third data window that are associated with the first selection to be visually distinguished from other of the rows in the third data window.
0. 53. A graphical user interface for a display screen of a computer, said graphical user interface comprising:
a first display area having a first data window, the first data window displaying a first type of data in multiple rows and columns; and
a second display area having a second data window, the second data window displaying a second type of data in multiple rows and columns, wherein a first selection of at least one of the rows in the first data window can be made and wherein the first selection of at least one of the rows in the first data window automatically causes rows in the second data window that are associated with the first selection to be visually changed and for other of the rows not associated with the first selection to remain visually unchanged;
a third display area having a third data window, the third data window displaying a third type of data in multiple rows and columns,
wherein a first selection of at least one of the rows in the first data window can be made, and
wherein the first selection of the at least one of the rows in the first data window automatically causes the rows in the second and third data windows that are associated with the first selection to be visually distinguished from other of the rows.
0. 70. A system for displaying data, comprising:
a processor, for providing data to be displayed;
an input device, coupled to the processor, for receiving user selection of at least one displayed entry; and
a display device, coupled to the processor, for displaying entries in the display areas, the display device having a plurality of display areas;
wherein, responsive to the input device receiving a selection of one or more entries being displayed in a particular one of the display areas,
the display device automatically updates the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged; wherein the processor updates the entries by performing, for each of the other of the display areas, at least the operations of:
retrieving, from an associated table, a first set of entries that are associated with the selection;
retrieving, from the associated table, a second set of entries that are not associated with the selection; and
signaling the display device to display the first and second sets of entries in the corresponding display area with the first set of entries being distinguishably displayed from the second set of entries.
0. 67. A method for displaying data on a display device of a computer system, the data being obtained from tables, the display device having a plurality of display areas, said method comprising the operations of:
(a) displaying entries in the display areas;
(b) receiving a selection of one or more entries being displayed in a particular one of the display areas;
(c) updating the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged; wherein updating (c) comprises, for each of the other of the display areas, the operations of:
(c1) retrieving, from an associated table, a first set of entries that are associated with the selection;
(c2) sorting the first set of entries in accordance with at least one predetermined criterion;
(c3) retrieving, from the associated table, a second set of entries that are not associated with the selection; and
(c4) sorting the second set of entries in accordance with at least one predetermined criterion; and
(c5) displaying the sorted first set of entries and the sorted second set of entries with the sorted first set of entries being distinguishably displayed from the sorted second set of entries.
0. 73. A computer program product for displaying data on a display device of a computer system, the data being obtained from tables, the display device having a plurality of display areas, said computer program product comprising:
a computer readable medium; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
(a) displaying entries in the display areas;
(b) receiving a selection of one or more entries being displayed in a particular one of the display areas; and
(c) automatically updating the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged; wherein the computer program instructions for controlling a processor to perform the operation of updating (c) comprise computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
(c1) accessing a database to obtain the retrieved entries in the other of the display areas; and
(c2) displaying the retrieved entries in the other of the display areas, with those of the entries that are associated with the selection being distinguishably displayed from those entries that are not associated with the selection.
0. 23. A system for displaying data, comprising:
a processor, for providing information to be displayed;
a display device, coupled to the processor, for displaying information, the display device comprising:
a first display area having a first label and a first data window, the first data window displaying a first type of data in multiple rows and columns, and the first label identifying the first type of data; and
a second display area having a second label and a second data window, the second data window displaying a second type of data in multiple rows and columns, and the second label identifying the second type of data,
an input device, coupled to the processor, for receiving user selection of at least one of a first selection of at least one of the rows in the first data window and a second selection of at least one of the rows in the second data window; and
wherein the first selection of at least one of the rows in the first data window automatically causes the rows in the second data window that are associated with the first selection to be visually distinguished from other of the rows, and
wherein the second selection of at least one of the rows in the second data window automatically causes the rows in the first data window that are associated with the second selection to be visually distinguished from other of the rows.
1. A computer system, comprising:
a database containing tables of data;
a display device, said display device having a plurality of display areas, each of the display areas displays data items from an associated table within said database; and
a processor unit, said processor unit operates to access said database to retrieve the data items from the corresponding associated tables and then display the retrieved data items in the display areas corresponding thereto, and to detect a selection of a displayed data item within a selected one of the display areas by a user and thereafter to automatically modify the data items being displayed in the other of the display areas in accordance with the selected data item by accessing said database to retrieve the data items in two groups, those data items that are related to the selected data item and those data items that are unrelated to the selected data item, by ordering the data items within each of the groups separately, and by respectively displaying the ordered data items for each of the groups in the other of the display areas so that the group of the data items in the other of the display areas that is related to the selected data item is displayed in a visually distinct manner as compared to the group of the data items in the other of the display areas that is unrelated to the selected data item.
0. 71. A system for displaying data, comprising:
a processor, for providing data to be displayed;
an input device, coupled to the processor, for receiving user selection of at least one displayed entry; and
a display device, coupled to the processor, for displaying entries in the display areas, the display device having a plurality of display areas;
wherein, responsive to the input device receiving a selection of one or more entries being displayed in a particular one of the display areas, the display device automatically updates the entries in the other of the display areas so as to visually change those of the entries that are associated with the selection and leave those entries that are not associated with the selection visually unchanged;
wherein the processor updates the entries by performing, for each of the other of the display areas, at least the operations of:
retrieving, from an associated table, a first set of entries that are associated with the selection;
sorting the first set of entries in accordance with at least one predetermined criterion;
retrieving, from the associated table, a second set of entries that are not associated with the selection;
sorting the second set of entries in accordance with at least one predetermined criterion; and
signaling the display device to display the sorted first set of entries and the sorted second sets of entries with the sorted first set of entries being distinguishably displayed from the sorted second set of entries.
0. 52. A computer program product for displaying data on a display device, comprising
a computer readable medium; and
computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
storing tables of data;
having a plurality of display areas, each of the display areas displaying data items from an associated table;
retrieving data items from at least one of a plurality of tables;
displaying the retrieved data items in at least one of a plurality of display areas, each of the display areas corresponding to one of the tables;
detecting a selection of a displayed data item within a selected one of the display areas by a user; and
automatically modifying the data items being displayed in the other of the display areas in accordance with the selected data item by retrieving those data items that are related to the selected data item, and by displaying the retrieved data items in the other of the display areas in a visually distinct manner as compared to displayed data items that are unrelated to the selected data item; wherein the computer program instructions for controlling a processor to perform the operation of displaying the retrieved data items in the other of the display areas comprises computer program instructions, encoded on the medium, for controlling a processor to perform the operation of displaying entries in the other of the display areas that are related to the selected data item in a graphically distinctive manner from those entries being displayed that are unrelated to the selected data item.
2. A computer system as recited in
5. A graphical user interface as recited in
wherein said graphical user interface further comprises:
a third display area having a third label and a third data window, the third data window displays a third type of data in multiple rows and columns, and the third label identifies the third type of data;
wherein one of the first selection of at least one of the rows in the first data window, the second selection of at least one of the rows in the second data window and a third selection of at least one of the rows in the third data window can be made,
wherein the first selection of the at least one of the rows in the first data window automatically causes the rows in the second and third data windows that are associated with the first selection to be visually distinguished from other of the rows,
wherein the second selection of at least one of the rows in the second data window automatically causes the rows in the first and third data windows that are associated with the second selection to be visually distinguished from other of the rows, and
wherein the third selection of at least one of the rows in the third data window automatically causes the rows in the first and second data windows that are associated with the third selection to be visually distinguished from other of the rows.
6. A graphical user interface as recited in
wherein the first label and the first data window are associated with customers of the business, and the second label and the second data window are associated with products or services of the business, and the third label and the third data window are associated with invoices of the business.
9. A method as recited in
(e1) accessing the database in accordance with the key to obtain the retrieved entries in the other of the display areas; and
(e2) displaying the retrieved entries in the other of the display areas, with those of the entries that are associated with the key being distinguishably displayed from those entries that are not associated with the key.
10. A method as recited in
wherein the key is obtained from the table in the database that is associated with the particular one of the display areas where the selection occurred.
11. A method as recited in
wherein the key is obtained from the table in the database that is associated with the particular one of the display areas where the selection occurred.
12. A method as recited in
(e1) retrieving a first set of entries from the associated table in the database that is associated with the key;
(e2) retrieving a second set of entries from the associated table in the database that are not associated with the key; and
(e3) displaying the first and second sets of entries in the corresponding display area with the first set of entries being distinguishably displayed from the second set of entries.
13. A method as recited in
(e1) retrieving a first set of entries from the associated table in the database that is associated with the key;
(e2) sorting the first set of entries in accordance with a predetermined criteria;
(e3) retrieving a second set of entries from the associated table in the database that are not associated with the key;
(e4) sorting the second set of entries in accordance with a predetermined criteria; and
(e5) displaying the sorted first set of entries followed by the sorted second set of entries in the corresponding display area with the sorted first set of entries being distinguishably displayed from the sorted second set of entries.
14. A method as recited in
16. A computer readable medium as recited in
first computer readable code devices for displaying entries from the database in the display area;
second computer readable code devices for determining whether a selection of one or more entries being displayed in a particular one of the display areas has occurred;
third computer readable code devices for obtaining a key from the database in accordance with the selection;
fourth computer readable code devices for notifying the other of the display areas of the key; and
fifth computer readable code devices for updating the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key from those entries that are not associated with the key, wherein said fifth computer readable code comprises:
computer readable code devices for accessing the database in accordance with the key to obtain the retrieved entries in the other of the display areas; and
computer readable code devices for displaying the retrieved entries in the other of the display areas, with those of the entries that are associated with the key being distinguishably displayed from those entries that are not associated with the key.
17. A computer readable medium as recited in
18. A computer readable media as recited in
first computer readable code devices for displaying entries from the database in the display area;
second computer readable code devices for determining whether a selection of one or more entries being displayed in a particular one of the display areas has occurred;
third computer readable code devices for obtaining a key from the database in accordance with the selection;
fourth computer readable code devices for notifying the other of the display areas of the key; and
fifth computer readable code devices for updating the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key from those entries that are not associated with the key wherein the fifth computer readable code comprises computer program code for identifying at least one of those of the entries that are associated with the key and those of the entries that are not associated with the key; and
computer program code for distinguishably displaying those of the entries associated with the key in the corresponding display area from those of the entries not associated with the key.
19. A computer readable media as recited in
computer program code for sorting those of the entries associated with the key with respect to the corresponding display area.
20. A computer readable media as recited in
computer program code for determining a select count indicating a number of those of the entries in the corresponding display area associated with the key; and
computer program code for displaying the select count on the display device proximate to the corresponding display area.
21. A computer readable media as recited in
computer program code for sorting those of the entries associated with the key with respect to the corresponding display area.
22. A computer readable media as recited in
computer program code for determining a select count indicating a number of those of the entries in the corresponding display area associated with the key; and
computer program code for determining a total count indicating a total number of those of the entries in the corresponding display area; and
computer program code for displaying the select count and the total count on the display device proximate to the corresponding display area.
0. 24. The system of
0. 25. The system of
a third display area having a third label and a third data window, the third data window displaying a third type of data in multiple rows and columns, and the third label identifying the third type of data,
wherein the input device receives user selection of at least one of the first selection of at least one of the rows in the first data window, the second selection of at least one of the rows in the second data window and a third selection of at least one of the rows in the third data window,
wherein the first selection of the at least one of the rows in the first data window automatically causes the rows in the second and third data windows that are associated with the first selection to be visually distinguished from other of the rows,
wherein the second selection of at least one of the rows in the second data window automatically causes the rows in the first and third data windows that are associated with the second selection to be visually distinguished from other of the rows, and
wherein the third selection of at least one of the rows in the third data window automatically causes the rows in the first and second data windows that are associated with the third selection to be visually distinguished from other of the rows.
0. 26. The system of
wherein the first label and the first data window are associated with customers of the business, and the second label and the second data window are associated with products or services of the business, and the third label and the third data window are associated with invoices of the business.
0. 28. The system of
0. 29. The system of
wherein the key is obtained from the table in the database that is associated with the particular one of the display areas where the selection occurred.
0. 30. The system of
0. 31. The system of
retrieving a first set of entries from the associated table in the database that is associated with the key;
retrieving a second set of entries from the associated table in the database that are not associated with the key; and
signaling the display device to display the first and second sets of entries in the corresponding display area with the first set of entries being distinguishably displayed from the second set of entries.
0. 32. The system of
retrieving a first set of entries from the associated table in the database that is associated with the key;
sorting the first set of entries in accordance with at least one predetermined criterion;
retrieving a second set of entries from the associated table in the database that are not associated with the key;
sorting the second set of entries in accordance with at least one predetermined criterion; and
signaling the display device to display the sorted first set of entries followed by the sorted second set of entries in the corresponding display area with the sorted first set of entries being distinguishably displayed from the sorted second set of entries.
0. 33. The system of
0. 34. The system of
retrieving a first set of entries from the associated table in the database that is associated with the key;
sorting the first set of entries in accordance with at least one predetermined criterion;
retrieving a second set of entries from the associated table in the database that are not associated with the key;
sorting the second set of entries in accordance with at least one predetermined criterion;
signaling the display device to display the sorted first set of entries followed by the sorted second set of entries in the corresponding display area with the sorted first set of entries being distinguishably displayed from the sorted second set of entries;
determining a select count indicating a number of entries in the first set of entries;
determining a total count indicating a total number of entries in the first and second sets of entries; and
signaling the display device to display the select count and the total count proximate to the corresponding display area.
0. 36. The method of
displaying, proximate to at least one of the display areas, at least one count indicator indicating a number of entries being selected as well as a total number of entries being displayed in the corresponding display area.
0. 37. The method of
displaying, in a third display area having a third label and a third data window, a third type of data in multiple rows and columns, wherein the third label identifies the third type of data;
receiving one of a first selection of at least one of the rows in the first data window, a second selection of at least one of the rows in the second data window, and a third selection of at least one of the rows in the third data window;
responsive to a first selection of at least one of the rows in the first data window, visually distinguishing the rows in the second and third data windows that are associated with the first selection from other of the rows;
responsive to a second selection of at least one of the rows in the second data window, visually distinguishing the rows in the first and third data windows that are associated with the second selection from other of the rows; and
responsive to a third selection of at least one of the rows in the third data window, visually distinguishing the rows in the first and second data windows that are associated with the third selection from other of the rows.
0. 38. The method of
the data is associated with a business application program for a business;
the first label and the first data window are associated with customers of the business;
the second label and the second data window are associated with products or services of the business; and
the third label and the third data window are associated with invoices of the business.
0. 40. The computer program product of
computer program instructions, encoded on the medium, for controlling a processor to perform the operation of:
displaying, proximate to at least one of the display areas, at least one count indicator indicating a number of entries being selected as well as a total number of entries being displayed in the corresponding display area.
0. 41. The computer program product of
displaying, in a third display area having a third label and a third data window, a third type of data in multiple rows and columns, wherein the third label identifies the third type of data;
receiving one of a first selection of at least one of the rows in the first data window, a second selection of at least one of the rows in the second data window, and a third selection of at least one of the rows in the third data window;
responsive to a first selection of at least one of the rows in the first data window, visually distinguishing the rows in the second and third data windows that are associated with the first selection from other of the rows;
responsive to a second selection of at least one of the rows in the second data window, visually distinguishing the rows in the first and third data windows that are associated with the second selection from other of the rows; and
responsive to a third selection of at least one of the rows in the third data window, visually distinguishing the rows in the first and second data windows that are associated with the third selection from other of the rows.
0. 42. The computer program product of
the data is associated with a business application program for a business;
the first label and the first data window are associated with customers of the business;
the second label and the second data window are associated with products or services of the business; and
the third label and the third data window are associated with invoices of the business.
0. 43. The computer program product of
0. 45. The computer system of
0. 46. The computer system of
0. 48. The method of
retrieving and displaying at least one data item that is unrelated to the selected data item.
0. 49. The method of
0. 51. The computer program product of
computer program instructions, encoded on the medium, for controlling a processor to perform the operation of:
retrieving and displaying at least one data item that is unrelated to the selected data item.
0. 54. The graphical user interface of
wherein the first data window is associated with customers of the business, and the second data window is associated with products or services of the business, and the third data window is associated with invoices of the business.
0. 56. The method of
wherein the first data window is associated with customers of the business, and the second data window is associated with products or services of the business, and the third data window is associated with invoices of the business.
0. 58. The computer program product of
wherein the first data window is associated with customers of the business, and the second data window is associated with products or services of the business, and the third data window is associated with invoices of the business.
0. 60. The method of
accessing the database to retrieve those data records that do not correspond to the selection;
and wherein displaying the data records comprises:
displaying a first group comprising the data records that correspond to the selection; and
displaying a second group comprising the data records that do correspond to the selection;
wherein the first group is displayed in a manner that is visually distinct from the second group.
0. 62. The system of
the processor obtains data records from the database data records that correspond to the selection of a database in a first group, and further obtains those data records that do not correspond to the selection in a second group, and further orders the data records within each of the groups separately; and
the display device displays the ordered data records for each of the groups in at least one of the other display areas.
0. 64. The computer program product of
computer program instructions, encoded on the medium, for controlling a processor to perform the operation of accessing the database to retrieve those data records that do not correspond to the selection;
and wherein the computer program instructions for controlling a processor to perform the operation of displaying the data records comprise computer program instructions, encoded on the medium, for controlling a processor to perform the operations of:
displaying a first group comprising the data records that correspond to the selection; and
displaying a second group comprising the data records that do correspond to the selection;
wherein the first group is displayed in a manner that is visually distinct from the second group.
0. 68. The method of
0. 72. The system of
0. 74. The computer program product of
(c1) retrieving, from an associated table, a first set of entries that are associated with the selection;
(c2) retrieving, from the associated table, a second set of entries that are not associated with the selection; and
(c3) displaying the first and second sets of entries in the corresponding display area with the first set of entries being distinguishably displayed from the second set of entries.
0. 75. The computer program product of
(c1) retrieving, from an associated table, a first set of entries that are associated with the selection;
(c2) sorting the first set of entries in accordance with at least one predetermined criterion;
(c3) retrieving, from the associated table, a second set of entries that are not associated with the selection; and
(c4) sorting the second set of entries in accordance with at least one predetermined criterion; and
(c5) displaying the sorted first set of entries and the sorted second set of entries with the sorted first set of entries being distinguishably displayed from the sorted second set of entries.
0. 76. The computer program product of
|
This application is a continuation application of prior application Ser. No. 08/732,705 filed on Oct. 18, 1996, now U.S. Pat. No. 5,926,806 the disclosure of which is incorporated herein by reference.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates to a computer system having a database and, more particularly, to a method and system for displaying related information from a database to a computer system user.
2. Description of the Related Art
Application programs conventionally operate to present data to users in windows on a computer screen. Word-processing applications typically have a single window in which a user creates, views and modifies a document. Some word-processing applications allow two windows (i.e., two pages of a document) to be simultaneously displayed side-by-side. Spreadsheet applications and database applications also tend to interact with a user through a single window. Operating systems, such as Microsoft Windows® (hereafter Windows) and UNIX, have for many years enabled a user to open many different windows on a single computer screen. With Windows, only one of the windows can be active at a time but multiple windows can be viewed so long as no one window utilizes the entire computer screen. With UNIX, multiple windows can also be viewed but multiple windows can be active concurrently. In any event, each window in these examples is largely independent of any other window simultaneously available.
In data management applications, including database development and retrieval applications as well as bookkeeping and accounting programs, data is entered, viewed and modified in accordance with the purposes of the application and the desires of the user. The data is stored by the application in records which form a database. To view the data stored in the database, a query is manually created and then presented to the database to request the particular portion of the data the user is interested in viewing. In response to the query, the appropriate data records are returned from the database. The returned data records are then displayed in a window to the user. However, the manual generation of queries is not only burdensome but also typically restricted to particular tables of the database. Hence, a separate query must be later made to other particular tables of the database to return data records for these other particular tables. The returned data records are normally displayed in or over the window displaying the results of the previous query. Therefore, the need to use separate queries is very detrimental to one's ability to retrieve and view related information across different tables in the database.
For example, one popular small business management program known as Quickbooks from Intuit, Inc. is able to view or provide reports in certain categories of information.
Thus, there is a need for techniques to provide more effective ways to retrieve and view interrelated information from a database.
Broadly speaking, the invention is a technique for displaying information from related tables of a database in different display windows on a display system. The different display windows are interlinked such that a selection of one or more entries in one of the display windows causes the other of the display windows to distinguishably display those entries that are related to the selection. An improved graphical interface for utilizing the technique is also provided.
The invention can be implemented in numerous ways, including as a system, a device, a method, or a computer readable medium. Several embodiments of the invention are discussed below.
As a computer system, an embodiment of the invention includes a database containing tables of data, a display device and a processor unit. The display device has a plurality of display areas, and each of the display areas displays data from an associated table within the database. The processor unit operates to access the database to retrieve the data from the corresponding associated tables and then display the retrieved data in the display areas corresponding thereto, and to detect a selection associated with one of the display areas and thereafter to automatically modify the data being displayed in the other of the display areas in accordance with the selection. Preferably, the selection operates to select at least one data item in the one of the display areas, and the modification of the data operates to display data items in the other of the display area that are related to the selected at least one data item in a graphically distinct manner.
As a graphical user interface for a display screen of a computer, an embodiment of the invention includes a first display area having a first label and a first data window, the first data window displays a first type of data in multiple rows and columns, and the first label identifies the first type of data; and a second display area having a second label and a second data windows the second data window displays a second type of data in multiple rows and columns, and the second label identifies the second type of data. Either a first selection of at least one of the rows in the first data window or a second selection of at least one of the rows in the second data window can be made. When the first selection of at least one of the rows in the first data window occurs, the rows in the second data window that are associated with the first selection are automatically visually distinguished from other of the rows. When the second selection of at least one of the rows in the second data window occurs, the rows in the first data window that are associated with the second selection are automatically visually distinguished from other of the rows. The graphical user interface, of course, can include additional display areas. The graphical user interface may also further include count indicators that are displayed proximate to the corresponding display area.
As a method for displaying data on a display device of a computer system, the data being obtained from a database associated with the computer system, an embodiment of the invention includes: providing the display device with a plurality of display areas, each of the display areas displays data records from an associated table within the database; and interlinking the display areas via the database such that a selection of certain of the displayed data records in one of the display areas causes data records in at least one of the other display areas that are associated with the selection to be identified.
As a method for displaying data on a display device of a computer system, the data being obtained from tables in a database associated with the computer system, the display device having a plurality of display areas, an embodiment of the invention includes the operations of: displaying entries from the database in the display areas; determining whether a selection of one or more entries being displayed in a particular one of the display areas has occurred; obtaining a key from the database in accordance with the selection; notifying the other of the display areas of the key; and updating the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key with those entries that are not associated with the key.
As a computer readable media containing program instructions for displaying data on a display device of a computer system, with the data being obtained from tables in a database associated with the computer system, and the display device having a plurality of display areas, an embodiment of the invention includes: first computer readable code devices for determining whether a selection of one or more entries being displayed in a particular one of the display areas has occurred; second computer readable code devices for obtaining a key from the database in accordance with the selection; third computer readable code devices for notifying the other of the display areas of the key; and fourth computer readable code devices for updating the entries in the other of the display areas so as to visually distinguish those of the entries that are associated with the key from those entries that are not associated with the key.
The advantage of the invention are numerous. One advantage of the invention is that a user is able to obtain and view on a display screen information within a database related to a selection by the user with minimal user effort and frustration. As a result, the user is able to more efficiently and effectively review related information than conventionally possible.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
FIGS 6A and 6B are flow diagrams of customer list box processing according to an embodiment of the invention;
The invention pertains to a technique for displaying information from related tables of a database in different display windows on a display screen associated with a computer system. The different display windows are interlinked such that a selection of one or more entries in one of the display windows causes the other of the display windows to distinguishably and orderly display those entries that are related to the selection. The invention also pertains to a graphical user interface (GUI in which a main screen is produced having the different display windows that are interlinked.
The main screen 100 includes the menu 102, a tool bar 104, and an information display region 106. The information display region 106 includes a first display area 108, a second display area 110 and a third display area 112. As explained in detail below, the first, second and third display areas 108, 110 and 112 are interlinked such that selections in any of the display areas invoke automatic modifications to the other of the display areas. By interlinking display areas in this manner, related information being displayed in the display areas can be readily identified.
The first display area 108 includes a first information area 114 and a list box 116. The first information area 114 includes a label plate 118, a full-size button 120, and a group drop down list box 122. The list box 116 is a multicolumn list box. The list box 116 lists or otherwise displays multiple entries with a row and column format. The list box 116 includes column headings 124 and 126 (as well as other column headings that are not illustrated in
The second display area 110 includes a second information area 130 and a list box 132. The second information area 130 includes a label plate 134, a full-size button 136, and a group drop down list box 138. The list box 132 is a multicolumn list box. The list box 132 includes column headings 140 and 142 (as well as other column headings that are not illustrated in
The third display area 112 includes a third information area 146 and a list box 148. The third information area 146 includes a label plate 150, a full-size button 152, and a group drop down list box 154. The list box 148 is a multicolumn list box. The list box 148 includes column headings 156, 158 and 160 (as well as other column headings that are not illustrated in
The information display region 106 further includes a secondary button area 164. Within the secondary button area 164, numerous buttons are provided for additional features. In particular, toggle buttons 166, 168 and 170 are provided to toggle the list boxes 116, 132 and 148 between on and off states. As illustrated in
An exemplary embodiment pertains to use of the invention in the context of a small business application program that executes on a computer system. In this regard, the main screen 100 illustrated in
The system arrangement 200 includes a list box-1 process 202, a list box-2 process 204 and a list box-3 process 206. These list box processes 202, 204 and 206 respectively correspond to the list boxes 116, 132 and 148 illustrated in FIG. 1. In this regard, the list box-1 process 202 performs the processing necessary to produce the appropriate data within the list box 116; the list box-2 process 204 performs the processing necessary to produce the appropriate data within the list box 132; and the list box-3 process 206 performs the processing necessary to produce the appropriate data within the list box 148. Although the list box processes 202, 204 and 206 are illustrated as separate processes, these processes can be implemented by a single process or block of executable computer instructions, or by multiple processes or multiple threads.
The system arrangement 200 also includes user selections 208, 210 and 212 and a database 214. The user selections 208, 210 and 212 are selections of one or more entries in the list boxes 116, 132 and 148, respectively. As an example, the user selections can be achieved with a pointing device. More particularly, with respect to the list box-1 process 202, a user selection 208 will result from a user selecting one or more of the entries within the list box 116. The user can also select a group of the entries within the list box 116 by using the group drop down list box 122. As an example, the group drop down list box 122 could contain group designators such as “All” (the illustrated group in FIG. 1), “Frequent Buyers,” or “Retailers.” The group designators will vary with the list boxes as well as with the type of application. After one or more of the entries within the list box 116 have been selected by the user selection 208, the list box-1 process 202 will obtain a key from the database 214. Using the key, the list box processes 204 and 206 together with the database 214 operate to retrieve, order and display the appropriate entries in the list boxes 132 and 148. Those of the entries that are associated with the user selection 208 are distinguishably displayed from the other entries in the list boxes 132 and 148. The processing performed by the invention is described in greater detail below.
The select and update processing 500 begins with a decision block 502 that determines whether a user selection has been received. The user selection involves the user selecting one or more entries in one of the list boxes 116, 132 and 148. If a user selection has been received, then a key associated with the user selection is obtained 504. The key represents the user selection in the database 214, 300. Then, an update message having the key is prepared 506. Next, the update message is sent 508 to the other of the list boxes. On the other hand, if the decision block 502 determines that no user selection has been made, then blocks 504-508 are bypassed.
Thereafter, following block 508 or following block 502 when no user selection has been made, a decision block 510 determines whether an update message has been received. The select and update processing 500 can be viewed as having a select processing portion which is that processing prior to block 510 and an update processing portion which begins at block 510. If an update message has been received, a first set of records to be displayed in the associated list box are retrieved 512. The first set of records are retrieved 512 from an appropriate table in the database 214, 300 that is associated with the key that accompanies the update message. Then, the first set of the retrieved records are selected, sorted, and then displayed 514 in the associated list box as the first part of the displayed records. A second set of records to be displayed in the associated list box are also retrieved 516. These records are retrieved 516 from an appropriate table in the database 214, 300 but are not associated with the key that accompanies the update message. Next, the second set of retrieved records are unselected, sorted and then displayed 518 in the associated list box as a second part of the displayed records. Thereafter, a select count and a total records count for the associated list box are updated and displayed 520 proximate to the associated list box. Following block 520 in the case in which an update message is received, as well as following block 510 in the case in which no update message is received, the select and update processing 500 is complete and ends.
An example of the operation of the invention is now described for the selected update processing 500 illustrated in
Initially, a main screen is set-up according to the initialization processing 400 illustrated in FIG. 4. As an example, once set-up, the main screen may appear similar to the main screen 100 illustrated in
In updating the list boxes 116, 132 and 148, the list box receiving the selection highlights the user selection, and the other of the list boxes process the update message they receive. The update message informs these other list boxes that they need to update the information they display. The update to each of the other list boxes is generally performed as follows. First, a first set of records are retrieved 512 from the table in the database 214, 300 that is associated with the key. With respect to
Next, a second set of records are retrieved 516 from the table in the database 214, 300 that is associated with the key. The retrieved records are then unselected, sorted and displayed 518 in the associated list box. The unselection of these retrieved records is performed in this embodiment so that they will not be distinguishably displayed as selected records (even if previously displayed as selected), but other embodiments may not need to perform such unselection. The sorting of the retrieved records of the second set operates similar to the sorting of the first set. The subsequent display of the unselected and sorted retrieved records displays the retrieved records in the associated list box such that there is no indication to the user that these records are associated with the user selection because these records are in fact not associated with the user selection. Hence, the first and second sets of records are displayed in the associated list box, preferably the second set follows the first set. Finally, a select count and a total count can also be displayed. Preferably, the select count and the total count are displayed 520 in a count plate proximate to the list box.
Alternatively, the select and update processing 500 could operate differently in other embodiments. For example, one such embodiment could operate to manipulate (reorder and select) the records or entries of the existing lists within the list boxes without having to access the database 214, 300 to obtain these records. The ad vantage would be a speed improvement for the updating, but the disadvantages are increased memory utilization and use of possibly stale data.
The customer list box processing 600 begins with a decision block 602 that determines whether a user selection has been made. The user selection is, for example, achieved by the user input device of the computer system. Since the customer list box processing 600 pertains to the customer list box 116, the user selection is of one or more customer records. When the decision block 602 determines that a user selection has been made, the customer list box processing 600 proceeds to perform blocks 604-608. On the other hand, when the decision block 602 determines that no user selection has been made, the blocks 604-608 are bypassed.
Once the user selection has been made, a customer key associated with the user selection is obtained 604. In the exemplary embodiment, the customer key is obtained 604 by accessing the customer table 304 to retrieve the customer key associated with the user selection. Then, an update message having the customer key is prepared 606. An example of an update message is “MESSAGE_RefreshProductList”. The update message that has been prepared is then sent 608 to the product list box 132 and the invoice list box 148. In the exemplary embodiment, the forwarding of the update message can be achieved by “SendMessage (MESSAGE_RefreshCustomerList);” in the case of Windows.
Following block 608 directly or following the decision block 602 in the case in which no user selection occurred, a decision block 610 determines whether an update message has been received. At this point, the customer list box processing 600 shifts to a message processing mode, whereas previously, the customer list box processing 600 was in a message generation mode. Although these two modes are described with respect to a single flow diagram, it should be recognized that these different modes could be separate processes, threads or objects. In any event, when the decision block 610 determines that no update message has been received, the customer list box processing 600 is complete and ends.
On the other hand, when the decision block 610 determines that an update message has been received, the customer list box processing 600 proceeds to process the incoming update message. A decision block 612 determines whether the update message has either a product key or an invoice key associated therewith. If the update message has a product key associated therewith, then records in the customer table 304 associated with the product key are retrieved 614. On the other hand, if the update message received has an invoice key associated therewith, then records in the customer table 304 associated with the invoice key are retrieved 616. Following either block 614 or block 616, the retrieved records are ordered 618 into a first set. In one embodiment, the ordering 618 sorts the records in accordance with a predetermined criteria. Here, in the customer list box processing, the records are customer records; hence, an alphabetical sorting is used (see, e.g., list box 116 in FIG. 1). Then, a selection indicator for each of the retrieved records is provided 620. The selection indicator operates to distinguishably display the retrieved records of the first set. The selection indicator is a visual indication to the user that is provided for each of the retrieved records of the first set to thereby visually indicate those records as being associated with the user selection. As an example, the selection indicator can be a check-mark graphic image such as illustrated in
A decision block 624 then determines whether the update message being processed has a product key or an invoice key. If the update message has the product key, records in the customer table 304 not associated with the product key are retrieved 626. On the other hand, if the update message has the invoice key, records in the customer table not associated with the invoice key are retrieved 628. Following either block 626 or 628, the retrieved records are ordered 630 into a second set. In one embodiment, the ordering 630 sorts the records in accordance with a predetermined criteria.
Next, the retrieved records of the first and second sets are joined 632. The resulting joined set is the list of records that are displayed. The joining set is then displayed 636 in the customer list box. Note the same records can be displayed by displaying the joined set or by displaying the first set followed by the second set. A total count is also determined 634. The total count is the count of the number of records in the joined set. Also, the select count and the total count are displayed 638. Following block 638, the customer list box processing 600 is complete and ends.
The product list box processing 700 begins with a decision block 702 that determines whether a user selection has been made. The user selection is, for example, achieved by the user input device of the computer system. Since the product list box processing 700 pertains to the product list box 132, the user selection is of one or more product records. More generally, the product records may be product or service records. When the decision block 702 determines that a user selection has been made, the product list box processing 700 proceeds to perform blocks 704-708. On the other hand, when the decision block 702 determines that no user selection has been made, the blocks 704-708 are bypassed.
Once the user selection has been made, a product key associated with the user selection is obtained 704. In the exemplary embodiment, the product key is obtained 704 by accessing the product table 306 to retrieve the product key associated with the user selection. Then, an update message having the product key is prepared 706. An example of an update message is “MESSAGE_RefreshCustomerList”. The update message that has been prepared is then sent 708 to the customer list box 116 and the invoice list box 148. In the exemplary embodiment, the forwarding of the update message can be achieved by “SendMessage (MESSAGE_RefreshCustomerList);” in the case of Windows.
Following block 708 directly or following the decision block 702 in the case in which no user selection occurred, a decision block 710 determines whether an update message has been received. At this point, the product list box processing 700 shifts to a message processing mode, whereas previously, the product list box processing 700 was in a message generation mode. Although these two modes are described with respect to a single flow diagram, it should be recognized that these different modes could be separate processes, threads or objects. In any event, when the decision block 710 determines that no update message has been received, the product list box processing 700 is complete and ends.
On the other hand, when the decision block 710 determines that an update message has been received, the product list box processing 700 proceeds to process the incoming update message. A decision block 712 determines whether the update message has either a customer key or an invoice key associated therewith. If the update message has a customer key associated therewith, then records in the product table 306 associated with the customer key are retrieved 714. On the other hand, if the update message received has an invoice key associated therewith, then records in the product table 306 associated with the invoice key are retrieved 716. Following either block 714 or block 716, the retrieved records are ordered 718 into a first set. In one embodiment, the ordering 718 sorts the records in accordance with a predetermined criteria. Here, in the product list box processing 700, the records are product records; hence, an alphabetical sorting could be used (see, e.g., list box 132 in FIG. 1). Then, a selection indicator for each of the retrieved records is provided 720. The selection indicator operates to distinguishably display the retrieved records of the first set. The selection indicator is a visual indication to the user that is provided for each of the retrieved records of the first set to thereby visually indicate those records as being associated with the user selection. A select count is also determined 722. The select count is the count of the retrieved records in the first set.
A decision block 724 then determines whether the update message being processed has a customer key or an invoice key. If the update message has the customer key, records in the product table 306 not associated with the customer key are retrieved 726. On the other hand, if the update message has the invoice key, records in the product table 306 not associated with the invoice key are retrieved 728. Following either block 726 or 728, the retrieved records are ordered 730 into a second set. In one embodiment, the ordering 730 sorts the records in accordance with a predetermined criteria.
Next, the retrieved records of the first and second sets are joined 732. The resulting joined set is the list of records that are displayed. The joined set is then displayed 736 in the product list box. Note the same records can be displayed by displaying the joined set or by displaying the first set followed by the second set. A total count is also determined 734. The total count is the count of number of records in the joined set. Also, the select count and the total count are displayed 738. Following block 738, the product list box processing 700 is complete and ends.
With respect to the pictorial diagram of a main screen 1000 illustrated in
The invoice list box processing 800 begins with a decision block 802 that determines whether a user selection has been made. The user selection is, for example, achieved by the user input device of the computer system. Since the invoice list box processing 800 pertains to the invoice list box 148, the user selection is of one or more invoice records. When the decision block 802 determines that a user selection has been made, the invoice list box processing 800 proceeds to perform blocks 804-808. On the other hand, when the decision block 802 determines that no user selection has been made, the blocks 804-808 are bypassed.
Once the user selection has been made, a invoice key associated with the user selection is obtained 804. In the exemplary embodiment, the invoice key is obtained 804 by accessing the invoice table 308 to retrieve the invoice key associated with the user selection. Then, an update message having the invoice key is prepared 806. An example of an update message is “MESSAGE_RefreshCustomerList”. The update message that has been prepared is then sent 808 to the customer list box 116 and the product list box 132. In the exemplary embodiment, the forwarding of the update message can be achieved by SendMessage (MESSAGE_RefreshCustomerList);” in the case of Windows.
Following block 808 directly or following the decision block 802 in the case in which no user selection occurred, a decision block 810 determines whether an update message has been received. At this point, the invoice list box processing 800 shifts to a message processing mode, whereas previously, the invoice list box processing 800 was in a message generation mode. Although these two modes are described with respect to a single flow diagram, it should be recognized that these different modes could be separate processes, threads or objects. In any event, when the decision block 810 determines that no update message has been received, the invoice list box processing 800 is complete and ends.
On the other hand, when the decision block 610 determines that an update message has been received, the invoice list box processing 800 proceeds to process the incoming update message. A decision block 812 determines whether the update message has either a customer key or a product key associated therewith. If the update message has a customer key associated therewith, then records in the invoice table 308 associated with the customer key are retrieved 614. On the other hand, if the update message received has a product key associated therewith, then records in the invoice table 308 associated with the product key are retrieved 816. Following either block 814 or block 816, the retrieved records are ordered 818 into a first set. In one embodiment, the ordering 818 sorts the records in accordance with a predetermined criteria. Here, in the invoice list box processing, the records are invoice records; hence, a numerical sorting is used (see, e.g., list box 148 in FIG. 1). Then, a selection indicator for each of the retrieved records is provided 820. The selection indicator operates to distinguishably display the retrieved records of the first set. The selection indicator is a visual indication to the user that is provided for each of the retrieved records of the first set to thereby visually indicate those records as being associated with the user selection. As an example, the selection indicator can be a check-mark graphic image 1018 such as illustrated in
A decision block 824 then determines whether the update message being processed has a customer key or a product key. If the update message has the customer key, records in the invoice table 308 not associated with the customer key are retrieved 826. On the other hand, if the update message has the product key, records in the invoice table 308 not associated with the product key are retrieved 828. Following either block 826 or 828, the retrieved records are ordered 830 into a second set. In one embodiment, the ordering 830 sorts the records in accordance with a predetermined criteria.
Next, the retrieved records of the first and second sets are joined 832. The resulting joined set is the list of records that are displayed. The joined set is then displayed 836 in the invoice list box. Note the same records can be displayed by displaying the joined set or by displaying the first set followed by the second set. A total count is also determined 834. The total count is the count of number of records in the joined set. Also, the select count and the total count are displayed 838. Following block 838, the invoice list box processing 800 is complete and ends.
With respect to the pictorial diagram of a main screen 1000 illustrated in
With respect to the pictorial diagram of a main screen 1100 illustrated in
According to the invention, the user selection made by the user in one of the list boxes automatically causes entries in other of the list boxes that are related to the user selection to be identified. As previously noted, the user selection can be one or more selections. The processing of multiple selections is the same as for individually selections, except that the processing repeats for each of the entries within the group. One way to select multiple entries is for the user to individually select certain entries. Another way to select multiple entries is to select a group of entries. In one embodiment, the selection of a group can be achieved using the group drop down list boxes 122, 138 and 154 illustrated in FIG. 1. For example, with respect to
The invention employs various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to in terms, such as producing, identifying, retrieving, determining, or comparing. Any of the operations described herein that form part of the invention are useful machine operations. The invention also relates to a device or an apparatus for performing these operations. The apparatus may be specially constructed for the required purposes, or it may be general purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations. An exemplary structure for the invention is described below with respect to FIG. 9.
The microprocessor 916 is a general purpose digital processor which controls the operation of the computer system 900. The microprocessor 916 can be a single-chip processor or can be implemented with multiple components. Using instructions retrieved from memory, the microprocessor 916 controls the reception and manipulation of input data and the output and display of data on output devices. According to the invention, a particular function of microprocessor 916 is to interact with a database (stored in RAM 920, the floppy disk drive 908, or the hard disk drive 910) so as to display information from related tables of the database in different display windows on the display screen 904 associated with the computer system 900 such that a selection of one or more entries in one of the display windows causes the other of the display windows to distinguishably and orderly display those entries that are related to the selection.
The memory bus 918 is used by the microprocessor 916 to access the RAM 920 and the ROM 922. The RAM 920 is used by the microprocessor 916 as a general storage area and as scratch-pad memory, and can also be used to store input data and processed data. The ROM 922 can be used to store instructions or program code followed by the microprocessor 916 as well as other data.
The peripheral bus 924 is used to access the input, output, and storage devices used by the digital computer 902. In the described embodiment, these devices include the display screen 904, the printer device 906, the floppy disk drive 908, the hard disk drive 910, and the network interface 912. The keyboard controller 926 is used to receive input from keyboard 914 and send decoded symbols for each pressed key to microprocessor 916 over bus 928.
The display screen 904 is an output device that displays images of data provided by the microprocessor 916 via the peripheral bus 924 or provided by other components in the computer system 900. According to the invention, different display windows of a main screen presented to a user are interlinked such that a selection of one or more entries in one of the display windows causes the other of the display windows to distinguishably display those entries that are related to the selection. The printer device 906 when operating as a printer provides an image on a sheet of paper or a similar surface. Other output devices such as a plotter, typesetter, etc. can be used in place of, or in addition to, the printer device 906.
The floppy disk drive 908 and the hard disk drive 910 can be used to store various types of data. The floppy disk drive 908 facilitates transporting such data to other computer systems, and hard disk drive 910 permits fast access to large amounts of stored data.
The microprocessor 916 together with an operating system operate to execute computer code and produce and use data. The computer code and data may reside on the RAM 920, the ROM 922, or the hard disk drive 920. The computer code and data could also reside on a removable program medium and loaded or installed onto the computer system 900 when needed. Removable program mediums include, for example, CD-ROM, PC-CARD, floppy disk and magnetic tape.
The network interface 912 is used to send and receive data over a network connected to other computer systems. An interface card or similar device and appropriate software implemented by the microprocessor 916 can be used to connect the computer system 900 to an existing network and transfer data according to standard protocols.
The keyboard 914 is used by a user to input commands and other instructions to the computer system 900. Other types of user input devices can also be used in conjunction with the present invention. For example, pointing devices such as a computer mouse, a track ball, a stylus, or a tablet can be used to manipulate a pointer on a series of a general-purpose computer.
The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can be thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, magnetic tape, optical data storage devices. The computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The advantages of the invention are numerous. One advantage of the invention is that a user is able to obtain and view on a display screen information within a database related to a selection by the user with minimal user effort and frustration. As a result, the user is able to more efficiently and effectively review related information than conventionally possible. Although the described exemplary embodiment pertains to a small business application program, the invention is applicable to a variety of other situations.
The many features and advantages of the present invention are apparent from the written description, and thus, it is intended by the appended claims, to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
Marshall, Dennis Alan, Laird, Barbara H., Hallbeck, Timothy E.
Patent | Priority | Assignee | Title |
8725734, | Jun 23 2010 | KYNDRYL, INC | Sorting multiple records of data using ranges of key values |
9065931, | Nov 12 2002 | MEDIALAB SOLUTIONS CORP | Systems and methods for portable audio synthesis |
9818386, | Oct 17 2000 | Medialab Solutions Corp. | Interactive digital music recorder and player |
Patent | Priority | Assignee | Title |
5233687, | Mar 25 1987 | Technology Licensing Corporation | User interface with multiple workspaces for sharing display system objects |
5293473, | Apr 30 1990 | International Business Machines Corporation | System and method for editing a structured document to modify emphasis characteristics, including emphasis menu feature |
5375200, | Nov 13 1992 | International Business Machines Corporation | Method and system for graphic interaction between data and applications within a data processing system |
5388196, | Sep 07 1990 | Xerox Corporation | Hierarchical shared books with database |
5491785, | Sep 30 1993 | Qualcomm Incorporated | Information retrieval device for displaying and directly refreshing the display of a dynamically modifiable document |
5519859, | Nov 15 1993 | Method and apparatus for automatic table selection and generation of structured query language instructions | |
5603025, | Jul 29 1994 | Borland Software Corporation | Methods for hypertext reporting in a relational database management system |
5608898, | Oct 31 1990 | Borland Software Corporation | Development system with methods for maintaining data integrity of information stored as a data record in a database with a copy of the information displayed on a screen device |
5625809, | Apr 25 1988 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Method for constructing a data structure which allows data to be shared between programs |
5634124, | Aug 21 1987 | Eastman Kodak Company | Data integration by object management |
5640579, | Jul 24 1995 | Microsoft Technology Licensing, LLC | Method and system for logically partitioning a view of a document object from a frame in which the document object is displayed |
5644736, | May 25 1995 | International Business Machines Corporation | System and method for selecting components of a hierarchical file structure |
5652850, | Jun 07 1995 | SAMSUNG ELECTRONICS CO , LTD | Panel creation engine using templates to automatically configure user interface screeen displays |
5664127, | Apr 08 1992 | Borland Software Corporation | System and methods for improved spreadsheet interface with user-familiar objects |
5671427, | Oct 12 1994 | Kabushiki Kaisha Toshiba | Document editing apparatus using a table to link document portions |
5671429, | Jun 02 1992 | Fuji Xerox Co., Ltd. | Document processing system providing facilitated modification of document images |
5675752, | Sep 15 1994 | Sony Trans Com | Interactive applications generator for an interactive presentation environment |
5675803, | Jan 28 1994 | Sun Microsystems, Inc. | Method and apparatus for a fast debugger fix and continue operation |
5680152, | Aug 29 1994 | WEB COM HOLDING COMPANY, INC | Method and apparatus for navigating multiple independent windowed images |
5689665, | Feb 28 1992 | International Business Machines Corporation | Apparatus and method for displaying windows |
5694594, | Nov 14 1994 | Trimble Navigation Limited | System for linking hypermedia data objects in accordance with associations of source and destination data objects and similarity threshold without using keywords or link-difining terms |
5712994, | Aug 10 1992 | International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NY | Method and system for apparent direct editing of transient graphic elements within a data processing system |
5717924, | Jul 07 1995 | MICRO FOCUS US , INC | Method and apparatus for modifying existing relational database schemas to reflect changes made in a corresponding object model |
5801685, | Apr 08 1996 | GRASS VALLEY US INC | Automatic editing of recorded video elements sychronized with a script text read or displayed |
5926806, | Oct 18 1996 | Apple Inc | Method and system for displaying related information from a database |
5930799, | Apr 19 1996 | Hitachi, Ltd. | Database creating method using image information |
5966121, | Oct 12 1995 | Accenture Global Services Limited | Interactive hypervideo editing system and interface |
6268851, | Sep 30 1996 | WEB COM GROUP, INC | Hypermedia authoring and publishing system |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 05 2002 | Apple Inc. | (assignment on the face of the patent) | / | |||
Jan 09 2007 | Apple Computer, Inc | Apple Inc | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 020638 | /0127 |
Date | Maintenance Fee Events |
Mar 18 2009 | ASPN: Payor Number Assigned. |
Mar 18 2009 | RMPN: Payer Number De-assigned. |
Sep 21 2011 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 03 2012 | 4 years fee payment window open |
Sep 03 2012 | 6 months grace period start (w surcharge) |
Mar 03 2013 | patent expiry (for year 4) |
Mar 03 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 03 2016 | 8 years fee payment window open |
Sep 03 2016 | 6 months grace period start (w surcharge) |
Mar 03 2017 | patent expiry (for year 8) |
Mar 03 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 03 2020 | 12 years fee payment window open |
Sep 03 2020 | 6 months grace period start (w surcharge) |
Mar 03 2021 | patent expiry (for year 12) |
Mar 03 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |