Method and apparatus for formatting a data grid for the display of a view

Information

  • Patent Application
  • 20030065671
  • Publication Number
    20030065671
  • Date Filed
    August 23, 2002
    22 years ago
  • Date Published
    April 03, 2003
    21 years ago
Abstract
A method and apparatus for utilizing a single data grid to display one of a plurality of displayable views using a software program or formatter that receives user criteria identifying one of the plurality of displayable views and the data grid a definition. The definition identifies the data set(s) the data grid is to obtain data from, the query used to retrieve the data from the data set(s), and the format used to display the data in the data grid. The definition is included in a set of configuration data associated with one of the plurality of views that is stored in a configuration file. The configuration file is external to the application program that includes the data grid such that the configuration data can be updated without effecting the operation of the application program.
Description


BACKGROUND OF THE INVENTION

[0001] The present invention generally relates to displaying a plurality of views in a data grid, and more particularly, to displaying a plurality of views in a data grid with few, if any, changes to the code of the application program that includes the data grid.


[0002] Software programs or applications often include at least one data grid, where each data grid is utilized to display a particular view. Each view includes data from at least one data set organized in a particular format. Generally, each data grid includes a hard coded definition that is predefined within the code of the application. The definition identifies the data set(s) the data grid is to obtain data from, the query used to retrieve the data from the data set(s), and the format used to display the data in the data grid. Thus, a single data grid within an application can only be used to display the single predefined view. If a user desires to display a different view, either another, new data grid needs to be defined within the application, or the definition of the current data grid needs to be altered. Both of these tasks require extensive coding and testing. As a result, accommodating new data sets is very expensive.



SUMMARY OF THE INVENTION

[0003] Accordingly, the invention provides a method and apparatus for utilizing a single data grid to display one of a plurality of displayable views. The invention also provides a software program or formatter that utilizes an externalized set of configuration data to provide the data grid a definition which defines the display of one of a plurality of displayable views.


[0004] In one embodiment, the invention gathers user criteria that identifies the view a user desires to observe. The user criteria is utilized by a formatter to select a set of configuration data that includes a definition of the data grid. The formatter provides the definition to the data grid and the definition is utilized to query a data base for data, receive the data, and display the data. The definition includes not only the structure of the query but also the format in which the data is to be displayed. The configuration file that includes the configuration data is external to the application program that includes the data grid such that the configuration data can be updated without effecting the operation of the application program. Further, by externalizing the definition of the data grid, a single data grid can be utilized to display a plurality of views.


[0005] As is apparent from the above, it is an advantage of embodiments of the invention to provide a method and system for utilizing a single data grid to display one of a plurality of displayable views where sets of configuration data have been externalized for utilization by a formatter in providing the data grid a definition. Other features and advantages of the invention will become apparent by consideration of the detailed description and accompanying drawings.







BRIEF DESCRIPTION OF THE DRAWINGS

[0006]
FIG. 1 is a schematic diagram representing a computer system according to one embodiment of the invention.


[0007]
FIG. 2 is a diagram defining the architecture of a configuration file used in one embodiment of the invention.


[0008]
FIG. 3 is a schematic diagram representing a user interface according to one embodiment of the invention.


[0009]
FIG. 4 is a schematic diagram representing a process implemented using one embodiment of the invention to create a total form.


[0010]
FIGS. 5 and 5B illustrate an exemplary view generated by one embodiment of the invention.







DETAILED DESCRIPTION

[0011] Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.


[0012] The terms “mounted,” “connected,” and “coupled” are used broadly and encompass both direct and indirect mounting, connecting, and coupling. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.


[0013] In some of the examples discussed, terms within quotation marks or capitalized terms are used for convenience and to assist the reader in correlating the description to the drawings. However, these terms should not be considered as having specialized meanings and are meant to be interpreted broadly and generically.


[0014]
FIG. 1 illustrates an exemplary computer system 10 constructed according to one embodiment of the invention. The computer system 10 includes such well known components as a processor, a memory, input devices (e.g., a keyboard, a pointing device, a mouse, a microphone, etc.), and output devices (e.g., a monitor, speakers, etc.) (all not shown). The computer system 10 is operable to execute or run an application 12. The application 12 includes at least one data grid 14, where each data grid 14 is used to display one of a plurality of displayable views. Each view includes data from at least one data set 16 stored in a database 17. The database 17 may include each data set 16 associated with the application 12, or alternatively, the data sets 16 may be stored in a plurality of databases 17. Each database 17 may be local to or external to the computer system 10.


[0015] The computer system 10 also includes a software program or formatter 18 for formatting the data grid 14. The formatter 18 is shown as being part of the application 12. In other embodiments, the formatter 18 may be external to the application or alternately configured. The function of the formatter 18 is transferable over a plurality of applications 12. For example, in one embodiment, the formatter may be implemented as one or more objects, and those objects may be included in a library and utilized through appropriate links and method calls.


[0016] The computer system 10 also includes a configuration file 20 that is external to the application 12. The configuration file 20 includes at least one set of configuration data 22 for the data grid 14. In one embodiment, each set of configuration data 22 includes a definition of the data grid 14 for use in displaying a view. Each definition identifies the data set(s) 16 the data grid 14 is to obtain data from, the query used to retrieve the data from the data set(s) 16, and the format used to display the data in the data grid 14.


[0017]
FIG. 2 illustrates a data model 300 that defines the software-based architecture of one embodiment of the configuration file 20. The data model 300 includes a plurality of tables or entities that logically represent the physical storage of each set of the configuration data 22. The tables are relationally linked to, or associated with, one another by a number of links or branches. Cardinality is indicated by the presence of a “one” or an “infinity symbol” on the originating end or the terminating end of the relationship branch. An entity with an “infinity symbol” next to it is the “child” of at least one “parent” entity, and an entity with a “one” next to it is the “parent” of at least one “child” entity. In general, a “parent” entity can have numerous “children.” In other words, if the terminating end of a relationship branch includes an “infinity symbol,” an instance of the originating entity can be related to one or more instances of the terminating entity. If the terminating end of a relationship branch includes a “one,” an instance of the originating entity can be related to only one instance of the terminating entity.


[0018] The data model 300 includes a DATASETS table 302, a DATASETGRIDS table 304, a GRIDS table 306, a GRIDCOLUMNS table 308, a GRIDQUERYOVERRIDES table 310, a GRIDROWHEADERS table 312, a GRIDDATAGROUPS table 314, a GRIDDATAGROUPHEADERS table 316, a GRIDDATAGROUPHEADERCOLUMNS table 318, a GRIDDATAGROUPFOOTERS table 320, a GRIDDATAGROUPFOOTERCOLUMNS table 322, a GRIDCOLUMNS table 324, a GRIDQUERYOVERRIDES table 326, and a GRIDROWHEADERS table 328.


[0019] Each table in the data model 300 includes a table identifier (ID), at least one data member (e.g., a key or an attribute), and a value (not shown in FIG. 2). In one embodiment, the table ID is representative of the name of the table. A table generally includes a table ID for itself. If a particular table is a “child” table to a “parent” table, the fields section of the table likely also includes a key for that “parent” table. The fields section also typically includes all attributes of the table. Each “parent” table is linked to at least one “child” table. Although data model 300 includes a plurality of “parent” tables, a small data model may only include a single “parent” table. The data model 300 illustrated is only representative and can be expanded to include additional “parent” tables and “child” tables or reduced to include fewer tables.


[0020] A description of the GRIDS table 306 is used to illustrate the linking between a “parent” table and “child” tables. The GRIDS table 306 contains the list of all possible sets of configuration data 22 for the data grid 14. The GRIDS table 306 includes a GRIDID 350 which is the table ID. The GRIDS table 306 also includes a number of data members (i.e., attributes) in the fields section, including a GRIDNAME 352,a COLUMNCOUNT 354, a COLUMNFIT 356, a ENTITYTYPE 358, a FIXEDCOLS 360, and a QUERY 362. The GRIDS table 306 has a number of “child” tables including the DATASETGRIDS table 304, the GRIDCOLUMNS table 324, the GRIDDATAGROUPS table 314, the GRIDQUERYOVERRIDES table 326, and the GRIDROWHEADERS table 328. The GRIDDATAGROUPS table 314 is then a “parent” to the GRIDDATAGROUPHEADERS table 316 and the GRIDDATAGROUPFOOTERS table 320. Both of these tables are then “parents” to other representative “child” tables. The string of “family” relationships can continue through a number of “generations”, the number of “generations” being dependent upon how detailed the information represented by the data model is. All “descendent” tables of the GRIDS table 306 also include foreign keys (i.e., table IDs of all the “ascendant” tables to which the “descendent” table is relationally linked) and attributes as indicated in FIG. 2, which, for purposes of brevity, are not discussed further herein.


[0021] The DATASETS table 302 contains the list of all possible data sets 16 that can be displayed in the data grid 14 of the application 12. In one embodiment, each type of data set 16 is predetermined and all of the programming and testing related to the display of the corresponding views (e.g., setting up the corresponding configuration data 22) is completed before the application 12 is run. However, if new sets of configuration data 22 are necessary based on the introduction of a new view or a new type of data set 16, the operation of the application 12 does not need to be effected because the configuration file 20 is external to the application. Therefore, new sets of configuration data 22 can be imported into the configuration file 20 without stopping the application 12.


[0022] In one embodiment, the formatter 18 can add or delete data sets of configuration data 22 based on use. Storing only the sets of configuration data 22 that are utilized by the formatter 18 reduces memory requirements and makes the overall application 12 run more efficiently.


[0023] The DATASETGRIDS table 304 associates the sets of configuration data 22 with the corresponding data sets 16. If the correct correlation is not made, the data is not displayed correctly in the data grid 14 and the user is not able to accurately access the information provided for that view.


[0024] The GRIDCOLUMNS table 324 contains the basic column definitions for each defined data grid 14. The basic column definitions include, among other things, the title of the column and the width of the column defined in a standard unit (e.g., pixels).


[0025] The GRIDQUERYOVERRIDES table 326 contains additional queries for a data grid 14 that may override the default query defined for the data grid 14 in the GRIDS table 306. The data stored in the data set 16 may be expansive. Only a small percentage of the overall data may be useful to the user of the application 12. The query retrieves the data need for the selected view. The GRIDQUERYOVERRIDES table 326 allows for different queries to be used in accessing and retrieving the data. In one embodiment, additional queries are added while the application 12 is running, where the queries relate to questions the user has which require a further analysis of data.


[0026] The GRIDROWHEADERS table 328 defines the text that should be displayed in column zero for specific row entries. In one embodiment, the text displayed for specific row entries can be changed while the application 12 is running.


[0027] As discussed above, the configuration data 22 stored external to the application 12 can be altered while the application 12 is running. However, it is generally preferred that a balance between efficient operation of the application 12 and optimal display of a view be struck when implementing an embodiment of the invention. A user interface engine or generator (not shown) can be incorporated into the application 12 that creates a user interface that allows the user to quickly request alteration of the view. The formatter 18 can then adjust the configuration data 22 currently defined in the configuration file 20 for that particular view. If the requested changes are too complex, the configuration data 22 defined in the configuration file 20 may need to be altered offline. In general, such alteration is still much faster than recoding and retesting the application.


[0028] For the sake of brevity, the functions of the remaining tables are summarily noted. The GRIDDATAGROUPS table 314 defines data groups for the data grid 14 based on a common column. The GRIDDATAGROUPHEADERS table 316 defines header lines that are displayed for a particular data group. The GRIDDATAGROUPHEADERCOLUMNS table 318 defines properties for each column of a header line. The GRIDDATAGROUPFOOTERS table 320 defines footer lines that are displayed for a data group. The GRIDDATAGROUPFOOTERCOLUMNS table 322 defines properties for each column of a footer line.


[0029] Following is a table that further explains many of the data members included in the data model 300.
1Data MemberValuesNotesALIGNMENTCENTERDefines how text is to beLEFTaligned within the cells ofRIGHTthe column. The value canJUSTIFYbe set to any standard align-ment mode.ALLOWDRILLDOWNYESA YES/NO indicator thatNOeither allows or disallowsthe ability to “drill down”from one data grid to an-other. The process ofdrilling down is typicallyused when one data gridshows summary informa-tion for multiple items. Ifdrill down is allowed,the user can then select anitem in the data grid andopen a new data grid thatdisplays the detail for thatitem.COLUMNCOUNTThis identifies the numberof columns in the data grid.COLUMNFITCONTENTSIdentifies column auto-WINDOWsizing characteristics. IfFIXEDCONTENTS, then eachcolumn is sized to fitthe contents of each cell.This may leave white spacebetween the last col-umn and the right edge ofthe grid. If WINDOW,then each column is sizedto fit the contents of eachcell. Any remaining whitespace that exists betweenthe last column andthe right edge of the datagrid is distributed evenlyamongst the columns. IfFIXED, then each columnis sized according to itsCOLnWIDTH property.COLUMNNAMEIdentifies a column returnedby a query.COLUMNNUMBERIdentifies a specific columnof a data grid. The first col-umn of a data grid is identi-fied as column zero (0), andsubsequent columns ofthe data grid are sequen-tially numbered (i.e., zerobased).DATAGROUPNUMBERA sequence number thatuniquely identifies one datagroup from another datagroup within a particulardata grid.DATASETIDAn ID that uniquely identi-fies one data set from an-other.DATASETNAMEA long name for a data set.DEFAULTTEXTThe default text to be dis-played when no other valueis available. The defaulttext displayed dependsupon what type of informa-tion is displayed in the datagrid (e.g., “NA”, “blank”,“0”, etc.)ENTITYTYPEDefines the type of entitythat is always displayedwithin this data grid. Maybe any of the valid entitytypes (e.g., for a “totals”data grid, the valid entitytypes may include aswitch, a processor, aninstitution, a device, acourier, a courier route,etc).FIXEDCOLSDefines the number of col-umns that are used as rowheaders. These columnsremain fixed on the datagrid as the user is scrollingthrough the other columns.FOOTERNUMBERA sequence number thatuniquely identifies onefooter line from anotherfooter line within a par-ticular data grid data group.GRIDIDAn ID that uniquelyidentifies one data gridfrom another data grid.GRIDNAMEA long name for a datagrid.HEADERNUMBERA sequence number thatuniquely identifies oneheader line from anotherheader line within a particu-lar data grid data group.QUERYDefines the WHEREclause and ORDER BYclause of the structuredquery language (SQL)query used to load thisgrid with data.QUERYOVERRIDEIDAn ID that uniquely iden-tifies one query overridefrom another query over-ride.SEQUENCEA number used to uniquelyidentify items.TITLECOLUMNNAMEIdentifies the column whosevalue should be used asthe title for another col-umn in the data grid.The name specified heremust exist in the datasource identified inthe TitleDataSource.TITLETEXTThe default caption thatis to be displayed for aparticular column.TITLEDATASOURCEVIEWOBJECTAllows dynamic override ofQUERYthe default column title.Valid values forTITLEDATASOURCEare VIEWOBJECT andQUERY.USESPECIALFONTYESA YES/NO flag that trig-NOgers the application ofthe standard font usedfor header cells. The stand-ard font for header cellsmay be hard coded withinthe application.WIDTHThe minimum width of acolumn specified in pixels.


[0030] The data model 300 is a generalized data model. The data model can be altered based on the type of application 12 in which the data grid 14 resides.


[0031] In one embodiment, the application 12 is utilized to provide “totals” information to the user. The views associated with the application 12 provide the user different types and formats of “totals” data. In order for the user to access a particular view, a user interface such as the search screen 100 shown in FIG. 3 is utilized. The search screen 100 allows the user to input user criteria such as a total view name 110 (e.g., INTERCHANGE TOTAL VIEW FOR PROCESSOR X, INTERNATIONAL INTERCHANGE, INTERNATIONAL NETFUNDS, INTERNATIONAL SUMMARY, NETFUNDS TOTAL VIEW FOR GATEWAY, SUMMARY TOTAL VIEW FOR PROCESSOR X, SUSPENSE TOTAL VIEW FOR PROCESSOR X, TERMINAL SUSPENSE, etc.) and a date 120. Other embodiments may include other types of user criteria. Once the user has defined the user criteria, the search button 130 is selected.


[0032] As shown in FIG. 4, the user criteria is gathered at step 140 and stored in memory 150. At step 160, the user criteria is utilized by the formatter 18 to select a set of configuration data 22 from the configuration file 20, where the selected set of configuration data 22 corresponds to the selected view. The formatter 18 provides the data grid 14 a definition using the selected configuration data 22. The data grid 14 utilizes the definition to locate the appropriate data set(s) 16, query the data set(s), and display the results of the query in the data grid 14 to create a total view. The total view is stored in memory 170. At step 180, the total view and additional configuration data 22 are utilized to create a total form which is displayed using display 190. The total form may include a single view or a plurality of views. Generally, each view includes a single data grid 14.


[0033] The totals form 200 illustrated in FIG. 5 (FIGS. 5A and 5B) includes two views and thus a top data grid 14T and a bottom data grid 14B. The totals form 200 further includes header information 210 which provides the user information about the form and the views it includes (e.g., the name of the view, the entity name, the current view, the entity ID, the settle date, and the business day entity, etc.).


[0034] In one embodiment, a TOTALGROUP table within the configuration file 20 defines all of the possible total types, or data sets, (e.g., INTERCHANGE TOTAL VIEW FOR PROCESSOR X, INTERNATIONAL INTERCHANGE, INTERNATIONAL NETFUNDS, INTERNATIONAL SUMMARY, NETFUNDS TOTAL VIEW FOR GATEWAY, SUMMARY TOTAL VIEW FOR PROCESSOR X, SUSPENSE TOTAL VIEW FOR PROCESSOR X, TERMINAL SUSPENSE, etc.) for the “totals” application 12. Following is a table that includes entries that are defined for each total type. Note that only the first 9 characters of the total type are used when formatting the table name. The name of the table is generically shown as TOTALTYPE.
2TableKeyValueNotes*TOTALTYPEALLOWDRILLDOWNYESOptional. SeeNOdescription above.*TOTALTYPESUMMARYCONFIGTABLEKEYOptional. If this entrydoes not exist for thetotal type, the table namedefaults to the followingformat: *[first3 characters of the totaltype][BOTTOM]GRID.For example, the tablename for the ACMEsummary data grid is*ACMBOTTOMGRID.*TOTALTYPEDETAILCONFIGTABLEKEYOptional. If this entrydoes not exist for thetotal type, the table namedefaults to the followingformat: *[first3 characters of the totaltype][TOP]GRID. Forexample, the table namefor the ACME detailgrid is*ACMTOPGRID


[0035] Following is a table that includes entries that are included in the set of configuration data 22 as part of the definition for each “totals” data grid 14. The name of the data set 16 associated with the definition is equal to the predefined value for either SUMMARYCONFIGTABLEKEY or DETAILCONFIGTABLEKEY.
3KeyValueNotesCOLUMNCOUNTThis identifies the number ofcolumns in the data gridCOLUMNFITCONTENTSOptional. Identifies column auto-WINDOWsizing characteristics. IfFIXEDCONTENTS, then each column issized to fit the contents of each cell.This may leave white space betweenthe last column and the right edge ofthe grid. If WINDOW, then eachcolumn is sized to fit the contents ofeach cell. Any remaining whitespace that exists between the lastcolumn and the right edge of the gridis distributed evenly amongst thecolumns. If FIXED, then eachcolumn is sized according to itsCOLnWIDTH property.COLnTITLERequired. Zero based.COLnTITLEOVERRIDEDATASOURCE =Optional. Zero based. AllowsVIEWOBJECTdynamic override of the defaultQUERYcolumn title. Valid values forFIELD =DataSource are VIEWOBJECT andQUERY. If Datasource =VIEWOBJECT and Field =SUMMARYENTITYIDLABEL,then the value of the summaryentity's label is used. The summaryentity's label is calculated by theview object based on the type ofentity displayed in the summary grid.For example, if the summary gridcurrently contains a list ofinstitutions, then theSUMMARYENTITYIDLABEL isequal to “Institution ID”.COLnWIDTHRequired if COLUMNFIT is equal toFIXED.COL0ROWnHDROptional. Defines additional rowheadings that are to be displayed incolumn 0.COL0ROWnPROPERTIESALIGNMENT =Optional. ALIGNMENT definesCENTERhow text is to be aligned within theUSESPECIALFONT =cells of the column. Only the valueYESCENTER is supported.NOUSESPECIALFONT is a YES/NOflag that triggers the application ofthe standard font used for headercells. The standard font for headercells is currently hard coded withinthe application.COLnFIELDRequired.ENTITY_TYPEOptional. Defines the type of entitythat is always displayed within thisdata grid. May be any of the validentity types.FIXEDCOLSOptional. Defines the number ofcolumns that are used as row headers.These columns remain fixed on thedata grid as the user is scrollingthrough the other columns.QUERYOptional. Defines the WHEREclause and ORDER BY clause of theSQL query used to load this data gridwith data.QUERYcolumnOptional. Defines the WHEREclause and ORDER BY clause of theSQL query used to load this grid withdata. This entry overrides thestandard QUERY attribute when thegrid is being loaded with data for aparticular entity type.ROWBRKnCOLUMNOptional. Identifies a column of thedata grid that will be used to define alogical grouping of the data withinthe data grid. When the value of thiscolumn changes, a “row break” isinserted. Header lines appear before agroup of data. Separator linesappear after a data group.ROWBRKnSEPnFIELD =Optional. Defines attributes for oneDEFAULT =of the separator lines of the rowbreak. Since most row breaks onlydefine a value for the first column,the FIELD and DEFAULT attributeshave been added here as convenience.These settings will be used as thevalue for the first column of the rowbreak separator line. The samevalues could also have been definedwith the ROWBRKnSEPnCOLn.See ROWBRKnSEPnCOLn fordefinition of FIELD and DEFAULT.ROWBRKnSEPnCOLnFIELD =Optional. Defines the value to beDEFAULT =displayed in the identified column ofthis separator line. FIELD identifies acolumn of the supporting querywhose value should be displayedhere. DEFAULT identifies a stringliteral that should be displayed if theFIELD attribute has not been defined ORthe column identified in theFIELD attribute does not exist in thesupporting query.ROWBRKnHDRnFIELD =Optional. Defines attributes for oneDEFAULT =of the header lines of the row break.Since most row breaks only define avalue for the first column, the FIELD andDEFAULT attributes have beenadded here as convenience. Thesesettings will be used as the value forthe first column of the row breakheader line. The same values couldalso have been defined with theROWBRKnHDRnCOLn. Currentlywe do not define any other attributesfor the header lines, but we may addsome in the future. SeeROWBRKnHDRnCOLn fordefinition of FIELD and DEFAULT.ROWBRKnHDRnCOLnFIELD =Optional. Defines the value to beDEFAULT =displayed in the identified column ofthis header line. DEFAULTidentifies a string literal that shouldbe displayed if the FIELD attributehas not been defined OR the columnidentified in the FIELD attribute doesnot exist in the supporting query.


[0036] Thus, as can be seen from the above, the invention provides, among other things, a method and system for utilizing a single data grid to display one of a plurality of displayable views where sets of configuration data have been externalized for utilization by a formatter in providing the data grid a definition.


Claims
  • 1. A system for displaying a view, the system comprising: an application program having a data grid, the application program operable to display a plurality of views using the data grid; a configuration file that stores a plurality of sets of configuration data for the data grid, wherein the configuration file is external to the application program; a formatter operable to receive user criteria identifying one of the plurality of views, and to provide the data grid a definition based on the user criteria using one of the plurality of sets of configuration data; wherein the data grid is operable, using the definition, to receive data associated with the user criteria identified view from at least one data set, and to display the data.
  • 2. The system of claim 1, wherein each view is associated with one set of configuration data.
  • 3. The system of claim 1, wherein each view is associated with at least one data set.
  • 4. The system of claim 1, wherein the user criteria includes a date.
  • 5. The system of claim 1, wherein the user criteria includes a view name.
  • 6. The system of claim 1, wherein at least one view displays totals data.
  • 7. The system of claim 1, wherein the definition includes a value corresponding to the alignment of data within a cell of the data grid.
  • 8. The system of claim 1, wherein the definition includes a value corresponding to the ability to drilldown from the data grid to another data grid of the system.
  • 9. The system of claim 1, wherein the definition includes a value corresponding to the number of columns in the data grid.
  • 10. The system of claim 1, wherein the definition includes a value corresponding to default text displayed in a cell of the data grid when no data exists for the cell.
  • 11. The system of claim 1, wherein the definition includes a value corresponding to a query utilized to search for the data received by the data grid.
  • 12. The system of claim 1, wherein the definition includes a value corresponding to a query override.
  • 13. The system of claim 1, wherein the application program includes the formatter.
  • 14. The system of claim 1, wherein the formatter is external to the application program.
  • 15. A method of utilizing a data grid to display one of a plurality of displayable views, the method comprising: providing an application program having a data grid; providing a configuration file having at least one set of configuration data, wherein the configuration file is external to the application program; providing a database having at least one data set; providing a formatter operable to receive user criteria associated with the one view, to select a set of configuration data based on the user criteria, and to provide the data grid a definition using the selected set of configuration data; using the definition to query the database for data; and displaying the data in the data grid using the definition.
  • 16. The method of claim 15, wherein each displayable view is associated with one set of configuration data.
  • 17. The method of claim 15, wherein each displayable view is associated with at least one data set.
  • 18. The method of claim 15, wherein the user criteria includes a date.
  • 19. The method of claim 15, wherein the user criteria includes a view name.
  • 20. The method of claim 15, wherein at least one of the displayable view displays totals data.
  • 21. The method of claim 15, wherein the definition includes a value corresponding to the alignment of data within a cell of the data grid.
  • 22. The method of claim 15, wherein the definition includes a value corresponding to the ability to drilldown from the data grid to another data grid of the system.
  • 23. The method of claim 15, wherein the definition includes a value corresponding to the number of columns in the data grid.
  • 24. The method of claim 15, wherein the definition includes a value corresponding to the default text displayed in a cell of the data grid when no data exists for the cell.
  • 25. The method of claim 15, wherein the definition includes a value corresponding to a query utilized to search for the data received by the data grid.
  • 25. The method of claim 15, wherein the definition includes a value corresponding to a query override.
  • 26. The method of claim 15, wherein the application program includes the formatter.
  • 27. The method of claim 15, wherein the formatter is external to the application program.
  • 28. A method of formatting a data grid, the method comprising: providing an application program having a data grid; externalizing at least one definition of the data grid; providing one definition to the data grid based on user criteria; and using the definition to obtain and display data in the data grid.
Provisional Applications (1)
Number Date Country
60314484 Aug 2001 US