Table view rendering method and apparatus, and electronic device and storage medium

By generating layout results, including an ordered first row range and adjacent row information, the problem of table view rendering lag under large-scale data is solved, achieving fast rendering and an efficient user experience.

WO2026026543A1PCT designated stage Publication Date: 2026-02-05BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/108664
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-31
Filing Date
2025-07-15
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Existing technologies suffer from lag when rendering multidimensional tables with large-scale data, failing to effectively support fast rendering and user experience.

Method used

By obtaining the view configuration of the table view, a layout result is generated, including at least one ordered first row range and row information of adjacent rows, reducing storage space requirements, improving layout efficiency, and achieving smooth rendering.

Benefits of technology

Enables rapid rendering of table views under large-scale data, improves user experience, and supports normal use of data with hundreds of thousands or even millions of rows.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025108664_05022026_PF_FP_ABST
    Figure CN2025108664_05022026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the embodiments of the present disclosure are a table view rendering method and apparatus, and an electronic device and a storage medium. The table view rendering method comprises: in response to a layout request for a table view, which layout request is sent by a view layer, acquiring table structure information on the basis of a view configuration of the table view; on the basis of the table structure information, generating a layout result, wherein the layout result comprises at least one ordered first row range and row information of a row adjacent to the first row range; and feeding the layout result back to the view layer, so as to render a row architecture of the table view by means of the view layer and on the basis of the layout result. Therefore, the lag-free operation of a table view with large-scale data can be supported.
Need to check novelty before this filing date? Find Prior Art

Description

Table view rendering method and device, electronic equipment and storage medium

[0001] This application claims priority to Chinese Patent Application No. 202411046142.1, filed on July 31, 2024, the disclosure of which is incorporated herein in its entirety as part of the present application. TECHNICAL FIELD

[0002] Embodiments of the present disclosure relate to a table view rendering method, device, electronic equipment and storage medium. BACKGROUND

[0003] Multi-dimensional tables have become an important tool for enterprise data analysis and decision-making due to their flexible data structure and powerful data analysis capabilities. Currently, full table data needs to be obtained to generate layout information, and the table view is rendered according to the layout information.

[0004] However, as the use scenarios continue to increase, the amount of data that each table needs to manage is also expanding. The existing rendering method will cause obvious lag under large-scale data. SUMMARY

[0005] Embodiments of the present disclosure provide a table view rendering method, device, electronic equipment and storage medium, which can support lag-free rendering of table views under large-scale data.

[0006] In a first aspect, embodiments of the present disclosure provide a table view rendering method, comprising:

[0007] In response to a layout request of a table view sent by a view layer, obtaining table structure information according to a view configuration of the table view;

[0008] Generating a layout result according to the table structure information; wherein the layout result includes at least one ordered first row range and row information of a row adjacent to the first row range;

[0009] Feeding back the layout result to the view layer, so that the view layer renders the row architecture of the table view according to the layout result.

[0010] In a second aspect, embodiments of the present disclosure also provide a table view rendering device, comprising:

[0011] The obtaining module is configured to, in response to a layout request of a table view sent by a view layer, obtain table structure information according to a view configuration of the table view;

[0012] a layout module, configured to generate a layout result according to the table structure information, wherein the layout result comprises at least one ordered first row range and row information of a row adjacent to the first row range;

[0013] a feedback module, configured to feed back the layout result to the view layer, so that the view layer renders a row structure of the table view according to the layout result.

[0014] In a third aspect, the present disclosure provides an electronic device, which comprises:

[0015] one or more processors;

[0016] a storage device configured to store one or more programs,

[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the method for rendering a table view according to any of the embodiments of the present disclosure.

[0018] In a fourth aspect, the present disclosure provides a storage medium containing computer executable instructions, which, when executed by a computer processor, perform the method for rendering a table view according to any of the embodiments of the present disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0019] The above and other features, advantages, and aspects of the embodiments of the present disclosure will become more apparent upon reading the following detailed description in conjunction with the accompanying drawings, in which like reference numerals refer to like elements. Throughout the drawings, the same or similar elements are denoted with the same or similar reference numbers. It should be understood that the drawings are schematic and elements and features are not necessarily to scale.

[0020] FIG. 1 is a flow diagram of a method for rendering a table view according to an embodiment of the present disclosure;

[0021] FIG. 2 is a schematic diagram of a layout result in a basic configuration in a method for rendering a table view according to an embodiment of the present disclosure;

[0022] FIG. 3 is a schematic diagram of a layout result in a grouping configuration in a method for rendering a table view according to an embodiment of the present disclosure;

[0023] FIG. 4 is a schematic diagram of a layout result in a grouping configuration and a sub-record configuration in a method for rendering a table view according to an embodiment of the present disclosure;

[0024] FIG. 5 is a structural block diagram of a layout manager in a method for rendering a table view according to an embodiment of the present disclosure;

[0025] FIG. 6 is a signaling interaction diagram for opening a table view in a rendering method of a table view according to an embodiment of the present disclosure;

[0026] FIG. 7 is a signaling interaction diagram for opening a table view in a rendering method of a table view according to an embodiment of the present disclosure;

[0027] FIG. 8 is a signaling interaction diagram for scrolling a table view in a rendering method of a table view according to an embodiment of the present disclosure;

[0028] FIG. 9 is a signaling interaction diagram for updating a table view in a rendering method of a table view according to an embodiment of the present disclosure;

[0029] FIG. 10 is a structural diagram of a rendering device of a table view according to an embodiment of the present disclosure; and

[0030] FIG. 11 is a structural diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0031] Embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. While certain embodiments of the present disclosure will be illustrated herein and described, it is to be understood that the present disclosure is not limited to the embodiments thereof, but embraces all such modifications as fall within the scope of the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure, as claimed.

[0032] It should be understood that the various steps of the method embodiments of the present disclosure can be performed in different orders and / or in parallel. Furthermore, the method embodiments can include additional steps and / or omit performing the steps shown. The scope of the present disclosure is not limited in this regard.

[0033] The term "comprising" and variations thereof as used in the present disclosure are open-ended, that is, "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Related terms are defined in the following description.

[0034] It should be noted that the terms "first", "second", and the like in the present disclosure are used only to distinguish different devices, modules or units, and do not imply the order of execution or the mutual dependency of the functions performed by these devices, modules or units.

[0035] It should be noted that the modification of "one" and "multiple" mentioned in the present disclosure is illustrative rather than restrictive, and those skilled in the art should understand that "one or more" should be understood unless the context clearly indicates otherwise.

[0036] The names of the messages or information exchanged between the plurality of devices in the embodiments of the present disclosure are only for illustrative purposes, and are not used to limit the scope of the messages or information.

[0037] In the related art, a multi-dimensional table can be understood as an application software similar to an online table, which provides a database-like capability in structure and is a structured table. The table view can be considered as a view type in the multi-dimensional table document, a view that can quickly add, delete and modify fields and data, and supports grouping, filtering, sorting, sub-record and other functions of recorded data.

[0038] FIG. 1 is a flow diagram of a table view rendering method provided by an embodiment of the present disclosure. The embodiment of the present disclosure is applicable to the case of rendering a table view, for example, the case of rendering a table view under large-scale data. The method can be executed by a table view rendering device, which can be implemented in the form of software and / or hardware, and can be configured in an electronic device, for example, in a computer.

[0039] As shown in FIG. 1, the table view rendering method provided by the embodiment can include:

[0040] S110, in response to the layout request of the table view sent by the view layer, obtaining the table structure information according to the view configuration of the table view.

[0041] The table view rendering method provided by the embodiment of the present disclosure can be executed by a table view rendering device. The table view rendering device can be considered as a layout manager. It can be understood that the table view rendering method provided by the embodiment of the present disclosure can be applied to a layout manager containing the device, and the functions of calculating table view layout and requesting data can be realized through the layout manager.

[0042] The view layer can be understood as a user interface layer that displays the table view. The view layer can generate a layout request and notify the layout manager to trigger a rendering event (which can be referred to as a rebuild event) of the table view in response to operations such as opening the table view and updating the number of rows in the table view. Correspondingly, the layout manager can perform a layout operation (which can be referred to as a Layout operation) in response to the layout request.

[0043] The layout operation can include: obtaining table structure information according to the view configuration of the table view. The view configuration input by the user can be received through the view layer, and the view configuration is stored to the server. The server can be considered as the server corresponding to the multidimensional table to which the table view belongs. Correspondingly, the layout manager can read the view configuration from the server in real time.

[0044] The view configuration can be understood as a configuration that can change the row architecture of the table view, for example, can include but is not limited to: configuring grouping and / or sub-records of data in the table view, etc. The grouping and / or sub-record configuration can support different viewing needs of the data, which is a derivative of the basic configuration. The sub-record table view can have the function of folding a group of data; and the sub-record of the data can be understood as the next level data contained by the data.

[0045] The row architecture can be understood as a row framework for carrying data in the table view. The row architecture can include at least one row data box, and each row data box can be arranged according to the grouping / sub-record data structure of the carried data, such as grouping and indentation. The data box can be rendered in the form of a table.

[0046] The table structure information can include information for representing the data structure of the data in the table view, such as the total number of data, the number of groups, the number of data in the group, sub-record data information, etc. The sub-record data information can include the number of data containing sub-records, and the data number of the data containing sub-records, etc.

[0047] The view configuration and the table structure information have a corresponding relationship. For example, when the view configuration includes grouping configuration, the table structure information can include the number of groups; for another example, when the view configuration includes sub-record configuration, the table structure information can include sub-record data information, etc. Correspondingly, the layout manager can obtain the table structure information corresponding to the view configuration from the server after obtaining the view configuration of the table view.

[0048] S120, generating a layout result according to the table structure information; wherein the layout result includes at least one ordered first row range and row information of a row adjacent to the first row range.

[0049] The S120 step is also included in the layout operation.

[0050] The first row range can refer to a range constructed by consecutive row numbers in the table view. For example, the first row range [1, 4] can refer to the rows from the first row to the fourth row in the table view. The data in the first row range can be considered as belonging to a group.

[0051] The first row range is an ordered row range. The ordered row range can be understood as follows: there is no intersection between the first row ranges, and the values in the first row ranges are sorted in ascending order. For example, in the first row ranges [1, 2], [3, 5], and [8, 10], there is no intersection between the row ranges, and the values are sorted in ascending order. Therefore, the three first row ranges can be referred to as ordered first row ranges.

[0052] The adjacent row of the first row range can be considered as a row that is not included in the first row range and is located before and / or after the first row range. For example, in the ordered first row ranges [1, 2], [3, 5], and [8, 10], the adjacent rows of the first row range can include row 0, row 6, row 7, and row 11. The row information of the adjacent row can include information for representing the type of the row, for example, but not limited to, a group header row and an extension row.

[0053] After obtaining at least one piece of table structure information from the total number of data rows, the number of groups, the number of data rows in a group, and the number of data sub-records, the layout manager can correspondingly calculate at least one ordered first row range and row information of an adjacent row of the first row range to generate a layout result in which the table view is divided into blocks according to row ranges. The layout result can be understood as a layout operation result.

[0054] In the embodiments of the present disclosure, the layout manager does not need to store the full amount of data of the table view to calculate the layout, but can calculate the layout result in blocks according to the table structure information. This layout calculation method can greatly reduce the demand for storage space and improve the layout efficiency.

[0055] In S130, the layout result is fed back to the view layer, so that the view layer renders the row architecture of the table view according to the layout result.

[0056] In the embodiments of the present disclosure, the layout manager can feed back the generated layout result to the view layer. Correspondingly, the view layer can quickly render the row architecture of the table view based on the existing rendering method, the at least one ordered first row range, and the row information of the adjacent row of the first row range. For example, the view layer can draw the row architecture of the table view based on Faster. Faster can be considered as a graphical user interface (GUI) framework based on data state driving. It has been verified through experiments that the view layer can complete the rendering of the row architecture in 10-20 milliseconds, which is fast and efficient.

[0057] The technical solution of the embodiment of the present disclosure, in response to the layout request of the table view sent by the view layer, acquires table structure information according to the view configuration of the table view; generates a layout result according to the table structure information; wherein the layout result includes at least one ordered first row range and row information of the adjacent row of the first row range; the layout result is fed back to the view layer, so that the view layer renders the row architecture of the table view according to the layout result.

[0058] The rendering method of the table view provided by the embodiment of the present disclosure can acquire table structure information before acquiring data, and can generate a block-based layout result according to the table result information. Thus, it is convenient for the view layer to quickly render the row architecture of the table view according to the layout result, and the table view can be rendered without lag, which brings the user a fast opening of the table view and improves the user experience.

[0059] The traditional view table rendering method needs to acquire the full data of the table view first, and then generate a layout result. This method cannot be used normally under large-scale data. However, the rendering method of the table view provided by the embodiment of the present disclosure can support the normal use of the table view under the data scale of 100,000 rows or even 1,000,000 rows, which is proved by experiments.

[0060] The embodiment of the present disclosure can be combined with the rendering method of the table view provided in the above-mentioned embodiments. The rendering method of the table view provided in the embodiment describes the table structure information under different view configurations in detail, which lays a foundation for generating different layout results based on different table structure information.

[0061] In the rendering method of the table view provided in the embodiment, the view configuration can include at least one of the following: basic configuration, grouping configuration and sub-record configuration; in the case where the view configuration includes the basic configuration, the table structure information includes the total number of data; in the case where the view configuration includes the grouping configuration, the table structure information includes the number of groups and the number of data in the group; in the case where the view configuration includes the sub-record configuration, the table structure information includes sub-record data information.

[0062] For example, FIG. 2 is a schematic diagram of a layout result under a basic configuration in a rendering method of a table view provided by the embodiment of the present disclosure. Referring to FIG. 2, the table view under the basic configuration can be considered as a normal table view, and the data A-G under the normal table view is sequentially displayed in each row. In the traditional layout result shown in FIG. 2, the layout of the 0th row to the 7th row needs to be calculated according to all the data A-G in the table view.

[0063] In the embodiment of the present disclosure, when the view configuration includes the base configuration, the total number of data (i.e., 7) can be obtained without obtaining the data A-G. Accordingly, as shown in the new version layout result in FIG. 2, a first row range, i.e., [0, 6], can be generated according to the total number of data. The row information of the adjacent row of the first row range, i.e., the row information of the 7th row, can be generated as an expansion row. For example, as shown in FIG. 2, the first row range can be stored in the data structure "rowRangeToRowInfo", the row information of the adjacent row can be stored in the data structure "rowToRowInfoMap", and the row information can be stored in the form of the statement "7=>{type:RowType.Expand}".

[0064] For example, FIG. 3 is a schematic diagram of a layout result in a grouping configuration in a rendering method of a table view provided by the embodiment of the present disclosure. As shown in FIG. 3, the table view in the grouping configuration can be considered as a derivative of the ordinary table view, and the data A-G in the grouping table view is divided into two groups for display, in which the data A-D belongs to group A, and the data E-G belongs to group B. In the traditional layout result shown in FIG. 3, the layout of the 0th row to the 10th row needs to be calculated according to the two groups of data.

[0065] In the embodiment of the present disclosure, when the view configuration includes the grouping configuration, the number of groups (i.e., 2) and the number of data in each group (i.e., 4 in the first group and 3 in the second group) can be obtained without obtaining the data A-G.

[0066] In the embodiment of the present disclosure, when the view configuration includes the grouping configuration, the first row range is positively correlated with the number of groups, and the more groups, the more the first row range. Accordingly, as shown in the new version layout result in FIG. 3, two first row ranges, i.e., [1, 4] and [7, 9], can be generated according to the number of groups and the number of data in each group. The row information of the adjacent row of each first row range, i.e., the row information of the 0th row, the 5th row, the 6th row and the 10th row, can be generated. The row information of the 0th row and the 6th row can be a group header row, and the row information of the 5th row and the 10th row can be an expansion row. For example, as shown in FIG. 3, the first row range can be stored in the data structure "rowRangeToRowInfo", the row information of the adjacent row can be stored in the data structure "rowToRowInfoMap", and the row information can be stored in the form of the statements "0=>{type:RowType.Group}", "5=>{type:RowType.Expand}", "6=>{type:RowType.Group}" and "10=>{type:RowType.Expand}".

[0067] For example, FIG. 4 is a schematic diagram of a layout result in a rendering method of a table view according to an embodiment of the present disclosure. As shown in FIG. 4, the table view in the grouping configuration and the sub-record configuration can be considered as a derivative of the ordinary table view, and the data A-G is divided into two groups for display, wherein the data A-D belongs to group A, the data E-G belongs to group B, and the data C contains a sub-record c. In the traditional layout result shown in FIG. 4, the layout of the 0th row to the 11th row needs to be calculated according to the two groups of data and the sub-record.

[0068] In the embodiment of the present disclosure, when the view configuration includes the grouping configuration and the sub-record configuration, the data A-G and the sub-record thereof do not need to be obtained, the number of groups (i.e., 2 groups) and the number of data entries in each group (i.e., 4 entries in the first group and 3 entries in the second group) need to be obtained, and the sub-record data information (i.e., one data entry contains a sub-record, and the data entry number is 3) needs to be obtained.

[0069] In the embodiment of the present disclosure, when the view configuration includes the sub-record configuration, the first row range is positively correlated with the sub-record data information, and the more the sub-record data information, the more the first row range. It can be understood that when the view configuration includes both the grouping configuration and the sub-record configuration, the first row range is positively correlated with the number of groups and the number of sub-record data entries, and the more the number of groups and the number of sub-record data entries, the more the first row range.

[0070] Accordingly, as shown in FIG. 4, according to the number of groups, the number of data entries in each group, and the sub-record data information, three first row ranges, i.e., [1, 2], [3, 5], and [8, 10], can be generated, and the row information of the adjacent rows of each first row range, i.e., the row information of the 0th row, the 6th row, the 7th row, and the 11th row, can be generated. The row information of the 0th row and the 7th row can be the group header row, and the row information of the 6th row and the 11th row can be the expansion row. For example, as shown in FIG. 4, the first row range can be stored in the data structure “rowRangeToRowInfo”, the row information of the adjacent rows can be stored in the data structure “rowToRowInfoMap”, and the row information can be stored in the form of the statements “0=>{type:RowType.Group}”, “6=>{type:RowType.Expand}”, “7=>{type:RowType.Group}”, and “11=>{type:RowType.Expand}”.

[0071] As can be seen from the above example, in the case of large data scale, the layout result generated by the embodiment of the present disclosure can greatly reduce the occupation of the storage space compared with the traditional layout result generated based on the full data.

[0072] In some optional implementations, in the case that the view configuration includes the grouping configuration, the process of generating the layout result can include: requesting the number of groups in each layer according to the hierarchical structure of the groups, and requesting the number of data items in each group under the current layer of groups in the case that the current layer of groups does not contain sub-layer groups; and updating the layout result in real time during the process of requesting the number of groups and the number of data items in each group.

[0073] In the table view, there can be multiple layers of grouping of data. For example, the data can be grouped into group A and group B in the first layer of grouping; into group 1 and group 2 in group A and into group 3 and group 4 in group B in the second layer of grouping; into group a and group b in group 1 and into group c and group d in group 4 in the third layer of grouping, i.e., group 2 and group 3 do not contain sub-layer groups, and so on for the division of multiple layers of grouping.

[0074] In the case of grouping configuration, the number of groups can be requested layer by layer according to the order from the parent layer to the sub-layer in the hierarchical structure. For example, the number of groups can be requested layer by layer according to the order from the first layer to the third layer in the example in the above paragraph. In the case of requesting the second layer of groups, group 2 and group 3 do not contain sub-layer groups, so the number of data items in each group under group 2 and group 3 can be requested, and the number of groups in the third layer of groups can also be requested; in the case of requesting the third layer of groups, group a-d do not contain sub-layer groups, so the number of data items in each group under group a-d can be requested.

[0075] During the process of requesting the number of groups and the number of data items in each group, the layout result can be updated in real time. In addition, the layout result can be sent to the view layer in real time to dynamically render the row architecture. For example, in the case of obtaining the first layer including two groups (e.g., group A and group B), two first row ranges can be generated first, and they can be sent to the view layer to render two group blocks in the row architecture. Then, the number of groups can be obtained layer by layer, and the two first row ranges can be expanded and divided to update the layout result. At the same time, the updated layout result can be sent to the view layer to further subdivide the group blocks in the row architecture to achieve dynamic rendering of the row architecture.

[0076] In these optional implementations, in the case that the view configuration includes the grouping configuration, the dynamic rendering of the row architecture can be achieved by obtaining the number of groups layer by layer. In the case of large data scale, the rendering of the row architecture can be started after obtaining the first layer of groups, which can shorten the time from the white screen to the rendering of the row table in the table view to a certain extent, and further improve the user experience.

[0077] The technical solutions of the embodiments of the present disclosure describe the table structure information under different view configurations in detail, and lay a foundation for generating different layout results based on different table structure information. The rendering method of the table view provided in the embodiments of the present disclosure belongs to the same disclosure concept as the rendering method of the table view provided in the above embodiments. The technical details not described in detail in the embodiments can be referred to the above embodiments, and the same technical features have the same beneficial effects in the embodiments and the above embodiments.

[0078] The embodiments of the present disclosure can be combined with the various optional schemes in the rendering method of the table view provided in the above embodiments. The rendering method of the table view provided in the embodiments describes the process of obtaining the table structure in detail. By deploying different layout functions in the layout manager, the layout under each view configuration can be realized.

[0079] The rendering method of the table view provided in the embodiments, in response to the layout request of the table view sent by the view layer, obtains the table structure information according to the view configuration of the table view, which can include: in response to the layout request, requesting the view configuration of the table view from the server; according to the view configuration of the table view, calling the corresponding target layout function from each layout function; and requesting the table structure information from the server through the target layout function.

[0080] In order to isolate business data and business requests, the server can deploy a special module to respond to business requests to perform data delivery. In the embodiments, the special module can be referred to as a model layer. Correspondingly, the layout manager can request the view configuration of the table view from the model layer according to the layout request of the view layer; the model layer can feed back to the layout manager after obtaining the corresponding view configuration on the server. In addition, the model layer can also provide other data information for the layout manager, such as providing table structure information and specific data in the table view.

[0081] In the embodiments, a plurality of different layout functions can be deployed in the layout manager, and each layout function can have an inheritance relationship. For example, FIG. 5 is a structural block diagram of a layout manager in a rendering method of a table view provided in the embodiments of the present disclosure. Referring to FIG. 5, the layout manager can include, but is not limited to, the following layout functions: a full-subrecord layout function, an on-demand subrecord layout function, a common subrecord layout function, a grouping layout function, and a common base layout function. The arrows in FIG. 5 can represent the inheritance relationship of the functions, that is, the grouping layout function can inherit the common base layout function, the common subrecord layout function can inherit the grouping layout function, and the full-subrecord layout function and the on-demand subrecord layout function can inherit the common subrecord layout function.

[0082] In the case that the data scale in the table view is small, the layout manager can adopt a traditional full mode, download the data in the table view and calculate the layout. Taking FIG. 5 as an example, at this time, the layout manager can take the full-sub-record layout function as the target layout function and perform the layout operation.

[0083] In the case that the data scale in the table view is large, the table view can provide an upgrade service for the user, that is, based on the rendering method provided by the embodiments of the present disclosure, the no-jitter running of the table view is realized. Taking FIG. 5 as an example, at this time, the layout manager can take the on-demand sub-record layout function as the target layout function and perform the layout operation. In addition, in the case that the view configuration includes the basic configuration, the on-demand sub-record layout function can perform the layout operation through the inherited common basic layout function; in the case that the view configuration includes the grouping configuration, the on-demand sub-record layout function can perform the layout operation through the inherited grouping layout function; in the case that the view configuration includes the sub-record configuration, the on-demand sub-record layout function can perform the layout operation through the inherited common sub-record layout function.

[0084] In the case that the layout manager performs the layout operation through the inherited layout function, it can include requesting the table structure information from the model layer of the server; and can also include generating the layout result according to the table structure information.

[0085] In the embodiments of the present disclosure, different layout functions can be deployed through the inheritance mode, so as to ensure that the layout manager can provide better layout support in various scenarios. In addition, deploying the layout function through the inheritance mode can also help to improve the code reusability and maintainability of the layout function, and meanwhile can reduce the code redundancy of the layout function.

[0086] For example, FIG. 6 is a schematic diagram of signaling interaction for opening a table view in a rendering method of a table view provided by the embodiments of the present disclosure. Referring to FIG. 6, in the rendering method of the table view, the signaling interaction process for opening the table view can include:

[0087] S601, the view layer receives an operation of opening the table view, and sends a layout request of the table view to the layout manager.

[0088] S602, the layout manager responds to the layout request and requests the view configuration of the table view from the server. As shown in FIG. 6, the layout manager can request the view configuration from the model layer of the server.

[0089] S603, the model layer feeds back the table view configuration.

[0090] S604, the layout manager calls the corresponding target layout function from each layout function according to the view configuration of the table view.

[0091] S605, the layout manager requests table structure information from the server through a target layout function. As shown in FIG. 6, the layout manager can request table structure information from the model layer of the server.

[0092] S606, the model layer feeds back the table structure information.

[0093] S607, the layout manager generates a layout result according to the table structure information through the target layout function.

[0094] The layout result includes at least one ordered first row range and row information of a row adjacent to the first row range.

[0095] S608, the layout manager feeds back the layout result to the view layer.

[0096] S609, the view layer renders the row architecture of the table view according to the layout result.

[0097] The technical solution of the embodiment of the present disclosure describes in detail the process of obtaining table structure. By deploying different layout functions in the layout manager, the layout under each view configuration can be implemented. The rendering method of the table view provided by the embodiment of the present disclosure belongs to the same disclosure concept as the rendering method of the table view provided by the above embodiment. The technical details not described in detail in the present embodiment can be referred to the above embodiment, and the same technical features have the same beneficial effects in the present embodiment and the above embodiment.

[0098] The rendering method of the table view provided by the embodiment of the present disclosure can be combined with each optional solution in the rendering method of the table view provided by the above embodiment. The rendering method of the table view provided by the present embodiment describes in detail the on-demand loading of data. The layout manager can also generate data number mapping logic corresponding to each first row range during the layout operation. Correspondingly, the layout manager can determine the data number of the data to be loaded according to the row number of the data to be loaded in the current viewport and the mapping logic, and download the target data according to the data number. After completing the rendering of the row architecture of the table view, only the target data of the current viewport can be downloaded, the on-demand loading of data of the table view is realized, which is beneficial to the non-stuttering operation under large-scale data.

[0099] In the rendering method of the table view provided by the present embodiment, the layout result further includes data number mapping logic corresponding to the first row range.

[0100] In the embodiments of the present disclosure, the server can store data according to the correspondence between the data number and the data. Due to the need to deploy the grouping header row, the expansion row and the like in the table view, the row number and the data number can be different. In the embodiments of the present disclosure, the layout manager can also generate the data number mapping logic (which can be referred to as mapping logic for short) corresponding to each first row range in the process of generating the first row range composed of the row number of the table view. Wherein, the layout manager can generate the layout result including at least one ordered first row range, the mapping logic corresponding to the first row range, and the row information of the adjacent row of the first row range according to the table structure information through the target layout function.

[0101] For example, referring to FIGS. 2-4 again, the mapping logic corresponding to each first row range can be stored in the data structure "rowToRowInfoMap", and the query relationship between the mapping logic and the first row number value of the corresponding first row range can be set. As shown in FIG. 2, the mapping logic of the first row range [0, 6] can be represented by the statement "0=>{start:0, limit:6, index:0, parent:-1}". Wherein, start can represent the starting row number of the first row range; limit can represent the number of rows in the first row range; index can represent the data number corresponding to the minimum row number in the first row range, and the index in the first first row range can be 0; parent can represent the identification of the subordinate group, for example, -1 can represent no grouping, 0 can represent belonging to the first group, 1 can represent belonging to the second group, and the like. In addition, the corresponding format statements in FIGS. 3-4 can also represent the mapping logic of the first row range, which will not be described here. It is worth noting that the row number and the data number can start from 0 in the embodiments of the present disclosure.

[0102] For example, FIG. 7 is a signaling interaction diagram for opening a table view in a table view rendering method provided by the embodiments of the present disclosure. It can be understood that the signaling interaction diagram of FIG. 7 can be combined with the signaling interaction diagram of FIG. 6, and the signaling interaction steps of FIG. 7 can be performed after the signaling interaction steps of FIG. 6.

[0103] As shown in FIG. 7, the table view rendering method provided by the embodiments of the present disclosure can further include, after the layout result is fed back to the view layer:

[0104] S701, the view layer sends a data acquisition request to the layout manager.

[0105] In the embodiments, the data acquisition request can include the height of the current viewport and the relative position information of the first position of the current viewport relative to the second position of the row architecture.

[0106] The screen size of different devices is different, so the height of the viewport can be different. The current viewport can refer to the view window of the table view in the current device. The height of the current viewport can be expressed as the number of pixels. The first position of the current viewport can include a preset position (such as the top-left corner position) of the first row of the table view in the row architecture. The second position of the row architecture can include a preset position (such as the top-left corner position) of the first row of the entire row architecture. The relative position information of the first position and the second position can include the number of pixels. The first position, the second position and the relative position information can be obtained by using an existing window event function.

[0107] In S702, the layout manager determines a second row range of the data to be requested in the row architecture in response to the data acquisition request sent by the view layer.

[0108] In the embodiment, after receiving the data acquisition request, the layout manager can first determine the row number of the first row of the current viewport according to the relative position information and the preset row height information, and determine the number of rows in the current viewport according to the relative position information and the preset row number information. Then, the row number of the last row of the current viewport can be determined according to the row number of the first row and the number of rows in the current viewport. Finally, the second row range can be determined according to the row numbers of the first row and the last row in the current viewport.

[0109] The second row range can be understood as a range composed of the row numbers in the current viewport. The data in the second row range can be understood as the data currently to be loaded.

[0110] In S703, the layout manager determines the intersection range of the second row range and the first row range.

[0111] Since the second row range can include non-data rows such as group header rows and expansion rows, and the data rows in the second row range can belong to different groups, the second row range can be intersected with at least one first row range to obtain at least one intersection range. The row numbers in the intersection range can be considered as the row numbers of the data to be loaded, and the data of the row numbers in the same intersection range can be considered as belonging to the same group.

[0112] In addition, before determining the intersection range, the matching row range can also be found from the first row ranges by using the binary search method. For example, the binary search can be performed according to the minimum row number and the maximum row number of the second row range to determine the first row range that hits the minimum row number and the maximum row number, respectively. Since the first row range is an ordered row range, the row range between the first row ranges that hit the minimum row number and the maximum row number can be considered as the matching row range. Further, the intersection range of the matching row range and the second row range can be determined. By narrowing down the first row range for which the intersection is to be obtained, the data request speed can be accelerated to a certain extent.

[0113] S704, the layout manager determines the data number range of the data to be requested according to the data number mapping logic corresponding to the intersection range.

[0114] In the embodiments of the present disclosure, the data number of the data to be loaded can be determined according to the row number in the intersection range and the mapping logic corresponding to the row number. The range formed by each data number can be referred to as a data number range.

[0115] For example, referring to FIG. 2, assuming that the second row range is [3], the intersection range is [3]. The mapping logic corresponding to the row number 3 is "0=>{start:0, limit:6, index:0, parent:-1}". The data number corresponding to the row number 3 can be calculated as 3, i.e., the number range is [3] by the preset formula "index=Row(.)-start(.)+index(.)".

[0116] For another example, referring to FIG. 3, assuming that the second row range is [3, 9], the intersection range is [3, 4] and [7, 9]. The mapping logic corresponding to the row numbers 3 and 4 is "1=>{start:1, limit:4, index:0, parent:0}", and the mapping logic corresponding to the row numbers 7, 8 and 9 is "7=>{start:7, limit:3, index:4, parent:0}". Similarly, the data numbers corresponding to the row numbers 3, 4, 7, 8 and 9 can be calculated as 2, 3, 4, 5 and 6, respectively, i.e., the number range is [2-6] by the preset formula.

[0117] For another example, referring to FIG. 4, assuming that the second row range is [4, 9], the intersection range is [4, 5] and [8, 9]. The mapping logic corresponding to the row numbers 4 and 5 is "3=>{start:3, limit:3, index:2, parent:0}", and the mapping logic corresponding to the row numbers 8 and 9 is "8=>{start:8, limit:3, index:5, parent:1}". Similarly, the data numbers corresponding to the row numbers 4, 5, 8 and 9 can be calculated as 3, 4, 5 and 6, respectively, i.e., the number range is [3-6] by the preset formula.

[0118] S705, the layout manager requests the target data according to the data number range.

[0119] Since the server can store data according to the correspondence between the data number and the data, the layout manager can request each data in the current viewport according to each number in the number range.

[0120] In the embodiments of the present disclosure, all data values do not need to be recorded, and only through the data acquisition request and the layout result, the data number of the to-be-loaded data (i.e., target data) can be calculated. Further, the layout manager can request the target data according to the data number.

[0121] S706, the model layer feeds back the target data.

[0122] In the embodiments of the present disclosure, the model layer can also feed back the to-be-loaded data corresponding to the second row range to the layout manager.

[0123] For example, referring to FIG. 2, it is assumed that the number range is [3], and since the data number starts from 0, the to-be-loaded data corresponding to the second row range can be fed back as D.

[0124] For another example, referring to FIG. 3, it is assumed that the number range is [2-6], and since the data number starts from 0, the to-be-loaded data corresponding to the second row range can be fed back as C, D, E, F and G.

[0125] For another example, referring to FIG. 4, it is assumed that the number range is [3-6], and since the data number starts from 0, the to-be-loaded data corresponding to the second row range can be returned as c, D, E and F.

[0126] S707, the layout manager feeds back the target data to the view layer.

[0127] S708, the view layer renders the target data to the second row range.

[0128] In the embodiments, after the view layer obtains the target data fed back by the layout manager, the view layer can sequentially render the target data to the data row of the current viewport. For example, referring to FIG. 3, after the view layer obtains the target data C-G, the view layer can sequentially render the second row range [3, 9], and in the rendering process, the view layer can skip the extended row and the group header row, and only render the data row.

[0129] In some implementations, the model layer can preload part of the data of the table view from the server, and the part of the data can include the first-screen data of the opened table view, so as to accelerate the data rendering efficiency. In addition, in the process of requesting the data from the server, the model layer can first feed back that the target data is empty, and can continue to request the target data from the server. In this process, the view layer can render a control indicating that the data is being loaded, such as a loading control containing an animation, or a text control, so as to improve the user experience.

[0130] The rendering method of the table view provided in the embodiments of the present disclosure transfers the time complexity from the overall scale to the number of small-scale groups and the number of sub-record folding / unfolding, compared with the traditional view rendering method. In this way, the data searching time can be greatly shortened by narrowing the searching range based on the principle of binary search, so that the performance of the table view can be greatly improved.

[0131] For example, it is assumed that a target data is to be searched in a data set containing n pieces of data. The traditional view rendering method needs to traverse the entire data set, so the time complexity can be marked as O(n). In the rendering method of the table view provided in the embodiments of the present disclosure, the data set can be divided into p groups, and the number of sub-record folding / unfolding can be q. On this basis, the time complexity can be marked as O(p+q), that is, only a small number of groups need to be traversed to query the target data, so that the searching time can be greatly reduced.

[0132] The technical solution of the embodiments of the present disclosure is described in detail for on-demand loading data. The layout manager can also generate data number mapping logic corresponding to each first row range during the layout operation. Correspondingly, the layout manager can determine the data number of the data to be loaded according to the row number of the data to be loaded in the current viewport and the mapping logic, and download the target data according to the data number. After the row architecture rendering of the table view is completed, only the target data of the current viewport can be downloaded, the on-demand loading data of the table view is realized, and the no-jitter operation under large-scale data is facilitated.

[0133] In addition, the rendering method of the table view provided in the embodiments of the present disclosure belongs to the same disclosure concept as the rendering method of the table view provided in the above embodiments, and the technical details not described in detail in the present embodiments can be referred to the above embodiments, and the same technical features have the same beneficial effects in the present embodiments and the above embodiments.

[0134] The rendering method of the table view provided in the embodiments of the present disclosure can be combined with the rendering method of the table view provided in the above embodiments. The rendering method of the table view provided in the present embodiments is described in detail for updating the current viewport data and updating the table view layout. The data of the current viewport can be updated in real time in the case of table page browsing, and the layout can be reconfigured in the case of change of the row architecture of the table view.

[0135] In the rendering method of the table view provided in the present embodiments, the data acquisition request is generated based on the page browsing operation of the table view. The page browsing operation can include but is not limited to the scrolling operation of the table and the page switching operation of the table. After the table view is opened and the first-screen data is rendered, the data of the current viewport can be updated in real time according to the page browsing operation of the table view.

[0136] Exemplarily, FIG. 8 is a signaling interaction diagram of scrolling a table view in a rendering method of a table view provided by an embodiment of the present disclosure. It can be understood that the signaling interaction diagram of FIG. 8 can be combined with the signaling interaction diagram of FIG. 7, and the signaling interaction steps of FIG. 8 can be steps executed after the signaling interaction steps of FIG. 7.

[0137] As shown in FIG. 8, the rendering method of a table view provided by the embodiment can include the following steps.

[0138] S801, the view layer generates a data acquisition request based on a page browsing operation of the table view.

[0139] After opening the table view and rendering the first-screen data, the view layer can further receive a page browsing operation input by the user, such as scrolling the table view or switching the page. The view layer can generate a data acquisition request according to the page browsing operation. The data acquisition request can include the height of the current viewport and the relative position information of the first position of the current viewport relative to the second position of the row architecture.

[0140] S802, the view layer sends the data acquisition request.

[0141] S803, the layout manager requests target data from the model layer in response to the data acquisition request.

[0142] The step S803 can be expanded into the steps S702-S705 in detail.

[0143] S804, the model layer feeds back the target data.

[0144] S805, the layout manager feeds back the target data to the view layer.

[0145] S806, the view layer renders the target data.

[0146] After obtaining the new target data, the view layer can render the new target data into the second row range of the current viewport to realize data updating of the table view. During the process of requesting data from the server, the model layer can first feed back that the target data is empty, and can continue to request the target data from the server. During this process, the view layer can render a control representing “data loading”.

[0147] In addition, in the rendering method of a table view provided by the embodiment, the layout request is generated based on a row number updating operation in the table view.

[0148] Exemplarily, FIG. 9 is a signaling interaction diagram of updating a table view in a rendering method of a table view provided by an embodiment of the present disclosure. Referring to FIG. 9, the rendering method of a table view provided by the embodiment can include the following steps.

[0149] S901, the view layer generates a layout request based on the table view internal row number update operation.

[0150] In this embodiment, the table view internal row number update operation can include but is not limited to: sub-record expansion / folding operation; table view internal data editing operation, editing operation for example including at least one of the following: adding data, deleting data, adding grouping and deleting grouping, etc. Since the row number update operation is usually accompanied by the update of the number of data in the grouping / record, the height of the table view will change, and the layout manager needs to re-execute the layout operation.

[0151] For example, FIG. 9 describes the process of table view update taking sub-record expansion as an example. After the target data of the current viewport is loaded, if the view layer receives a sub-record expansion operation, it can request the expanded sub-record data from the server; the server can send the expanded sub-record data to the model layer; the model layer can feed back a data request success message to the view layer; the view layer generates a layout request according to the data request success message.

[0152] S902, the view layer sends a layout request of the table view to the layout manager again.

[0153] S903, the layout manager acquires table structure information according to the view configuration of the table view in response to the layout request.

[0154] S904, the layout manager generates a layout result according to the table structure information.

[0155] The S903-S904 steps can be expanded into the S602-S607 steps in detail.

[0156] S905, the layout manager feeds back the layout result to the view layer.

[0157] S906, the view layer renders the row architecture of the table view according to the layout result.

[0158] S907, the view layer sends a data acquisition request to the layout manager.

[0159] The data acquisition request can include the height of the current viewport, and the relative position information of the first position of the current viewport compared with the second position of the row architecture.

[0160] S908, the layout manager requests target data from the model layer in response to the data acquisition request.

[0161] The S908 step can be expanded into the S702-S705 steps in detail.

[0162] S909, the model layer feeds back the target data.

[0163] Wherein, since the model layer has obtained the expanded sub-record data in advance, the target data can be quickly fed back to the layout manager.

[0164] S910, the layout manager feeds back the target data to the view layer.

[0165] S911, the view layer renders the target data.

[0166] Wherein, after the row architecture is re-rendered, the view layer can render the re-acquired target data to the second row range of the current viewport, so as to realize the updating of the row architecture and the data.

[0167] The technical solutions of the embodiments of the present disclosure are described in detail for updating the current viewport data and updating the table view layout. In the case of browsing the table page, the data of the current viewport can be updated in real time, and in the case of changing the table view row architecture, the layout can be reconfigured. The rendering method of the table view provided by the embodiments of the present disclosure belongs to the same disclosure concept as the rendering method of the table view provided by the above-mentioned embodiments. The technical details not described in detail in the present embodiment can be referred to the above-mentioned embodiments, and the same technical features have the same beneficial effects in the present embodiment and the above-mentioned embodiments.

[0168] FIG. 10 is a structural schematic diagram of a table view rendering device provided by an embodiment of the present disclosure. The table view rendering device provided by the present embodiment is suitable for the case of rendering a table view, for example, the case of rendering a table view under large-scale data.

[0169] As shown in FIG. 10, the table view rendering device provided by the present embodiment of the present disclosure can include:

[0170] The obtaining module 101 is configured to, in response to the layout request of the table view sent by the view layer, obtain the table structure information according to the view configuration of the table view.

[0171] The layout module 102 is configured to generate a layout result according to the table structure information; wherein, the layout result includes at least one ordered first row range and row information of a row adjacent to the first row range.

[0172] The feedback module 103 is configured to feed back the layout result to the view layer, so that the view layer renders the row architecture of the table view according to the layout result.

[0173] In some optional implementations, the layout result further includes data number mapping logic corresponding to the first row range.

[0174] The table view rendering device can further include:

[0175] The data request module is configured to perform the following operations after the layout result is fed back to the view layer:

[0176] In response to the data acquisition request sent by the view layer, a second row range of the to-be-requested data in the row architecture is determined.

[0177] The intersection range of the second row range and the first row range is determined.

[0178] According to the data number mapping logic corresponding to the intersection range, a data number range of the to-be-requested data is determined.

[0179] According to the data number range, the target data is requested.

[0180] Correspondingly, the feedback module can also be configured to feed back the target data to the view layer, so as to render the target data to the second row range through the view layer.

[0181] In some optional implementation manners, the data acquisition request is generated based on a page browsing operation of the table view.

[0182] In some optional implementation manners, the layout request is generated based on a row number updating operation in the table view.

[0183] In some optional implementation manners, the obtaining module can be configured to:

[0184] In response to the layout request, the view configuration of the table view is requested from the server;

[0185] According to the view configuration of the table view, a corresponding target layout function is called from each layout function;

[0186] Through the target layout function, the table structure information is requested from the server.

[0187] In some optional implementation manners, the view configuration includes at least one of the following: a basic configuration, a grouping configuration, and a sub-record configuration.

[0188] In the case where the view configuration includes the basic configuration, the table structure information includes a total number of data;

[0189] In the case where the view configuration includes the grouping configuration, the table structure information includes a number of groupings and a number of data in a group;

[0190] In the case where the view configuration includes the sub-record configuration, the table structure information includes sub-record data information.

[0191] In some optional implementation manners, in the case where the view configuration includes the grouping configuration, the obtaining module can be configured to: request the number of groupings layer by layer according to the hierarchical structure of the groupings, and request the number of data in a group under a current hierarchical grouping in the case where the current hierarchical grouping does not include a sub-hierarchical grouping.

[0192] Correspondingly, the layout module can be used to update the layout result in real time in the process of requesting the number of groups and the number of data pieces in each group.

[0193] The rendering apparatus of the table view provided in the embodiments of the present disclosure can execute the rendering method of the table view provided in any of the embodiments of the present disclosure, and has the corresponding function modules and beneficial effects of the execution method.

[0194] It is worth noting that each unit and module included in the above apparatus is only divided according to the function logic, but is not limited to the above division, as long as the corresponding function can be realized; in addition, the specific name of each functional unit is only for the convenience of mutual differentiation, and does not limit the protection scope of the embodiments of the present disclosure.

[0195] Reference is made below to FIG. 11, which shows a structural schematic diagram of an electronic device (such as a terminal device or a server in FIG. 11) 1100 suitable for implementing the embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure can include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablets), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in FIG. 11 is only an example, and should not bring any limitation to the functions and use range of the embodiments of the present disclosure.

[0196] As shown in FIG. 11, the electronic device 1100 can include a processing apparatus (such as a central processor, a graphics processor, and the like) 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage apparatus 1108 into a random access memory (RAM) 1103. In the RAM 1103, various programs and data required for the operation of the electronic device 1100 are also stored. The processing apparatus 1101, the ROM 1102, and the RAM 1103 are connected to each other through a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.

[0197] In general, the following devices can be connected to the I / O interface 1105: input devices 1106 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 1107 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1108 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 1109. The communication devices 1109 can allow the electronic device 1100 to communicate wirelessly or wiredly with other devices to exchange data. Although FIG. 11 shows the electronic device 1100 having various devices, it is understood that all of the illustrated devices are not required to be implemented or possessed. More or fewer devices can be alternatively implemented or possessed.

[0198] According to embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product including a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for executing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network through the communication devices 1109, or installed from the storage devices 1108, or installed from the ROM 1102. When the computer program is executed by the processing devices 1101, the above-described functions defined in the rendering method of the table view of the embodiments of the present disclosure are performed.

[0199] The electronic device provided by the embodiments of the present disclosure and the rendering method of the table view provided by the above-described embodiments belong to the same disclosure concept, and the technical details not described in detail in the present embodiments can be referred to the above-described embodiments, and the present embodiments have the same beneficial effects as the above-described embodiments.

[0200] The embodiments of the present disclosure provide a storage medium of computer executable instructions, which, when executed by a computer processor, can be used to execute the rendering method of the table view provided by the above-described embodiments.

[0201] It should be noted that the storage medium described above in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the above two. The computer readable storage medium may, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or flash memory (FLASH), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer readable storage medium can be any tangible medium containing or storing executable instructions that can be used by or in conjunction with an instruction execution system, device or apparatus. In the present disclosure, the computer readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer readable executable instructions. Such a propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal or any suitable combination of the above. The computer readable signal medium can also be any computer readable medium other than the computer readable storage medium, which can transmit, propagate or transport the executable instructions for use by or in conjunction with an instruction execution system, device or apparatus. The executable instructions contained in the storage medium can be transmitted by any suitable medium, including but not limited to an electrical wire, an optical cable, an RF (radio frequency) or the like, or any suitable combination of the above.

[0202] In some embodiments, the client, server, or both can communicate using any current known or future developed network protocol, such as HTTP (Hyper Text Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any current known or future developed networks.

[0203] The storage medium described above can be included in the electronic device described above; or can exist separately from the electronic device and not be assembled into the electronic device.

[0204] The storage medium described above carries one or more executable instructions, which, when executed by the electronic device, cause the electronic device to:

[0205] In response to the layout request of the table view sent by the view layer, table structure information is acquired according to the view configuration of the table view; a layout result is generated according to the table structure information; wherein the layout result includes at least one ordered first row range and row information of a row adjacent to the first row range; and the layout result is fed back to the view layer, so that the view layer renders the row architecture of the table view according to the layout result.

[0206] Executable instructions for performing the operations of the present disclosure can be written in one or more programming languages or combinations of languages including an object oriented programming language such as Java, Smalltalk, C++ or a conventional procedural programming language such as the "C" programming language or similar programming languages. The executable instructions can execute completely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or completely on the remote computer or server. In situations in which remote computing is involved, the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, through the Internet using an Internet service provider).

[0207] The embodiments of the present disclosure further provide a computer program product, comprising a computer program which, when executed by a processor, can implement the rendering method of the table view provided by any one of the embodiments of the present disclosure.

[0208] The computer program product in the implementation process can be written in one or more programming languages or combinations of languages for executing the computer program code of the present disclosure, including an object oriented programming language such as Java, Smalltalk, C++, and a conventional procedural programming language such as the "C" programming language or similar programming languages. The program code can completely execute on the user's computer, partially execute on the user's computer, execute as a stand-alone software package, partially execute on the user's computer and partially on a remote computer, or completely execute on a remote computer or server. In the case of remote computing, the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, through the Internet using an Internet service provider).

[0209] The computer program product of the first aspect can include a computer readable storage medium. The computer readable storage medium can include instructions. The instructions can include one or both of: instructions for causing a computer to implement a method as described above; and instructions for causing a computer to operate based on the described embodiments. The computer readable storage medium can include one or more types of computer-readable storage media or memory media. For example, the computer readable storage media can include a hard disk, a CD-ROM, an optical disk, a ROM, a RAM, a PROM, an EPROM, a FLASH, or the like. The computer readable storage medium can also include a non-tangible medium that is accessed directly via a network by the computer. The non-tangible medium can include a hard disk drive, a CD-ROM, an optical disk, a ROM, a RAM, a PROM, an EPROM, a FLASH, or the like. The non-tangible medium can include a detachable program or software storage medium that a user can access directly. The non-tangible medium can include a transmission that is not a tangible medium, such as a modem, a network, a telephone line, a wireless link, or the like. The computer program product can include a computer program that, when executed, implements a method as described above.

[0210] The units described in the embodiments of the present disclosure can be implemented by software, or by hardware. In some cases, the names of the units and modules do not limit the units and modules themselves.

[0211] The functions described in the present disclosure can be performed at least in part by one or more hardware logic components. For example, non-limiting examples of hardware logic components that can be used include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application-Specific Standard Products (ASSPs), System-on-a-Chip (SOC), Complex Programmable Logic Devices (CPLDs), etc.

[0212] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0213] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, the method comprising:

[0214] In response to a layout request of the table view sent by a view layer, obtaining table structure information according to a view configuration of the table view;

[0215] Generating a layout result according to the table structure information; wherein the layout result comprises at least one ordered first row range and row information of a row adjacent to the first row range;

[0216] Feeding back the layout result to the view layer, so as to render a row architecture of the table view according to the layout result by the view layer.

[0217] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, further comprising:

[0218] In some optional implementations, the layout result further comprises data number mapping logic corresponding to the first row range;

[0219] After the feeding back of the layout result to the view layer, further comprising:

[0220] In response to a data acquisition request sent by the view layer, determining a second row range of to-be-requested data in the row architecture;

[0221] Determining an intersection range of the second row range and the first row range;

[0222] According to data number mapping logic corresponding to the intersection range, determining a data number range of the to-be-requested data;

[0223] According to the data number range, requesting target data;

[0224] feedback the target data to the view layer, so as to render the target data to the second row range by the view layer.

[0225] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, further comprising:

[0226] In some optional implementations, the data acquisition request is generated based on a page browsing operation of the table view.

[0227] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, further comprising:

[0228] In some optional implementations, the layout request is generated based on a number of rows in the table view updating operation.

[0229] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, further comprising:

[0230] In some optional implementations, in response to the layout request of the table view sent by the view layer, table structure information is acquired according to a view configuration of the table view, comprising:

[0231] In response to the layout request, a view configuration of the table view is requested from a server;

[0232] According to the view configuration of the table view, a corresponding target layout function is called from each layout function;

[0233] Through the target layout function, the table structure information is requested from the server.

[0234] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, further comprising:

[0235] In some optional implementations, the view configuration comprises at least one of a basic configuration, a grouping configuration and a sub-record configuration;

[0236] In a case where the view configuration comprises the basic configuration, the table structure information comprises a total number of data;

[0237] In a case where the view configuration comprises the grouping configuration, the table structure information comprises a number of groupings and a number of data within a group;

[0238] In a case where the view configuration comprises the sub-record configuration, the table structure information comprises sub-record data information.

[0239] According to one or more embodiments of the present disclosure, a rendering method of a table view is provided, further comprising:

[0240] In some optional implementation, in the case that the view configuration comprises the grouping configuration, the process of generating the layout result comprises:

[0241] requesting the number of groups layer by layer according to the hierarchical structure of the groups, and requesting the number of data items in the group under the current hierarchical group in the case that the current hierarchical group does not contain sub-hierarchical groups;

[0242] updating the layout result in real time in the process of requesting the number of groups and the number of data items in the group.

[0243] According to one or more embodiments of the present disclosure, a device for rendering a table view is provided, which comprises:

[0244] an obtaining module, configured to, in response to a layout request of a table view sent by a view layer, obtain table structure information according to a view configuration of the table view;

[0245] a layout module, configured to generate a layout result according to the table structure information; wherein the layout result comprises at least one ordered first row range and row information of a row adjacent to the first row range;

[0246] a feedback module, configured to feed back the layout result to the view layer, so that the view layer renders a row architecture of the table view according to the layout result.

[0247] The above description is merely an embodiment of the present disclosure and an explanation of the technical principles applied. Those skilled in the art should understand that the disclosure range involved in the present disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by any combinations of the above technical features or equivalent features without departing from the above disclosed concept. For example, the technical solutions formed by replacing the above features with the technical features disclosed in the present disclosure (but not limited to) having similar functions.

[0248] In addition, although each operation is depicted in a particular order, this should not be understood as requiring the operations to be performed in the particular order shown or in a sequential order. In certain circumstances, multitasking and parallel processing can be advantageous. Similarly, although several implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments can also be combined in a single embodiment. Conversely, various features described in the context of a single embodiment can also be separated and implemented in multiple embodiments.

[0249] Although the present disclosure has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1. A method for rendering a table view, comprising: in response to a layout request of a table view sent by a view layer, obtaining table structure information according to a view configuration of the table view; generating a layout result according to the table structure information; wherein the layout result comprises at least one ordered first row range and row information of a row adjacent to the first row range; feeding back the layout result to the view layer, so that the view layer renders a row architecture of the table view according to the layout result.

2. The method of claim 1, wherein, The layout result further comprises data number mapping logic corresponding to the first row range. After the feeding back of the layout result to the view layer, the method for rendering the table view further comprises: in response to a data acquisition request sent by the view layer, determining a second row range of to-be-requested data in the row architecture; determining an intersection range of the second row range and the first row range; determining a data number range of the to-be-requested data according to data number mapping logic corresponding to the intersection range; requesting target data according to the data number range; feeding back the target data to the view layer, so that the view layer renders the target data to the second row range.

3. The method of claim 2, wherein, The data acquisition request is generated based on a page browsing operation of the table view.

4. The method of any one of claims 1-3, wherein, The layout request is generated based on a row number updating operation in the table view.

5. The method of any one of claims 1-4, wherein, The obtaining of the table structure information according to the view configuration of the table view in response to the layout request sent by the view layer comprises: in response to the layout request, requesting the view configuration of the table view from a server; according to the view configuration of the table view, calling a corresponding target layout function from each layout function; requesting the table structure information from the server through the target layout function.

6. The method of any one of claims 1-5, wherein, The view configuration comprises at least one of a basic configuration, a grouping configuration and a sub-record configuration. In the case where the view configuration comprises the basic configuration, the table structure information comprises a total number of data. In the case where the view configuration comprises the grouping configuration, the table structure information comprises a number of groups and a number of data in each group. In the case where the view configuration comprises the sub-record configuration, the table structure information comprises sub-record data information.

7. The method of claim 6, wherein, In the case where the view configuration comprises the grouping configuration, the process of generating the layout result comprises: requesting a number of groups layer by layer according to a hierarchical structure of the groups, and requesting a number of data in a current hierarchical group in the case where the current hierarchical group does not comprise a sub-hierarchical group; updating the layout result in real time during the requesting of the number of groups and the number of data in each group.

8. A device for rendering a table view, comprising: an obtaining module configured to obtain table structure information according to a view configuration of a table view in response to a layout request of the table view sent by a view layer; a layout module configured to generate a layout result according to the table structure information; wherein the layout result comprises at least one ordered first row range and row information of a row adjacent to the first row range; a feedback module, configured to feed back the layout result to the view layer, so that the view layer renders the row structure of the table view according to the layout result. 9.An electronic device, comprising: one or more processors; a memory storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of rendering a table view according to any one of claims 1-7.

10. A storage medium containing computer-executable instructions, wherein, the computer executable instructions, when executed by a computer processor, perform the method of rendering a table view according to any one of claims 1-7.

11. A computer program product comprising a computer program, wherein, the computer program, when executed by a processor, performs the method of rendering a table view according to any one of claims 1-7.

Citation Information

Patent Citations

  • Form processing method, apparatus, electronic device, and readable storage medium

    CN109299449A

  • Page table rendering method and device, electronic equipment and computer readable medium

    CN111931472A

  • Table page rendering method and device, electronic device and storage medium

    CN115203603A

  • Table view rendering method and device, electronic equipment and storage medium

    CN116719593A

  • Method, apparatus, and computer program product for managing retrieval of content for display by a browser

    US20180285337A1