Display control device, display control method and display control program
The display control device addresses inefficiencies in scrolling by applying display rules to a partial data subset, enhancing scrolling responsiveness and efficiency.
Patent Information
- Application Number
- JP2025146012
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-03
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2042-05-13
AI Technical Summary
Existing display technologies face challenges in achieving smooth scrolling control when display rules are set for display objects, as applying these rules to all data leads to inefficiencies.
A display control device and method that acquires and applies display rules to a partial subset of data, enabling smooth scrolling by controlling data transmission and evaluation only for the relevant data range.
Enables smoother and more responsive scroll control by applying display rules to a subset of data, reducing processing time and improving responsiveness during scrolling operations.
Smart Images

Figure 2025168484000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a display control device, a display control method, and a display control program. [Background technology]
[0002] Virtual scrolling technology is now known. This technology extracts and acquires a display range corresponding to the scroll position and a predetermined number of data points before and after the display range from a large amount of data. Then, rendering data is generated based on the extracted data to display the data in the display range. This reduces the amount of data processing and increases the display speed.
[0003] Paragraph 0032 of Patent Document 1 (JP 2021-111310 A) and elsewhere contains a description of such virtual scrolling. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-111310 Summary of the Invention [Problem to be solved by the invention]
[0005] Here, for example, there are cases where desired display rules (state control rules) are set for display objects such as cells. When display rules are set, it is necessary to first apply the display rules to all data, extract data corresponding to the scroll position from all data that reflects the display rules, and then perform scrolling. For this reason, when display rules are set, there is a problem that smooth scrolling control is difficult.
[0006] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a display control device, a display control method, and a display control program that enable smooth scrolling control even when display rules are set for display objects such as cells. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems and achieve the object, the display control device of the present invention has a reception control unit that controls the communication unit to receive display designation data that specifies the data to be displayed, which is transmitted from the terminal device when a display designation operation is performed on the terminal device that displays the data; an acquisition unit that, at startup, acquires a predetermined number of pieces of data at initial positions that is greater than the display number and corresponds to a portion of the total number of data from the entire data stored in the memory unit, and, upon receiving the display designation data, acquires a predetermined number of pieces of data that is greater than the display number and corresponds to a portion of the total number of data, corresponding to the display designation data; a display rule application unit that applies a predetermined display rule that is set in advance to the acquired data; and a transmission control unit that controls the communication unit to transmit to the terminal device data to which the display rule has been applied, which includes data in a display range corresponding to the initial position or data in a display range corresponding to the display designation data, which is displayed on the terminal device side.
[0008] In addition, in order to solve the above-mentioned problems and achieve the object, the display control device of the present invention has an acquisition unit that, at startup, acquires a predetermined number of data items at initial positions that is greater than the display number and corresponds to a portion of the total number of data items from the entire data stored in the memory unit, and when a data display specification operation is performed, acquires a predetermined number of data items that is greater than the display number and corresponds to a portion of the total number of data items in response to the display specification operation, a display rule application unit that applies a predetermined display rule that is set in advance to the acquired data, and a display control unit that displays on the display unit data to which the display rule has been applied, including data in a display range that corresponds to the initial position or data in a display range that corresponds to the display specification operation.
[0009] In addition, in order to solve the above-mentioned problems and achieve the object, the display control method of the present invention includes a reception control step in which the reception control unit controls the communication unit to receive display designation data that specifies the data to be displayed, which is transmitted from the terminal device when a display designation operation is performed on the terminal device that displays the data; an acquisition step in which the acquisition unit, at startup, acquires a predetermined number of data items at initial positions that is greater than the display number and corresponds to a portion of the total number of data items stored in the memory unit, and, upon receiving the display designation data, acquires a predetermined number of data items that is greater than the display number and corresponds to a portion of the total number of data items, corresponding to the display designation data; a display rule application step in which the display rule application unit applies a predetermined display rule that is set in advance to the acquired data; and a transmission control step in which the transmission control unit controls the communication unit to transmit to the terminal device data to which the display rules have been applied, which includes data in a display range that corresponds to the initial position or data in a display range that corresponds to the display designation data, which is displayed on the terminal device side.
[0010] In addition, in order to solve the above-mentioned problems and achieve the object, the display control method of the present invention includes an acquisition step in which, at startup, an acquisition unit acquires a predetermined number of data items at initial positions, which is greater than the display number and corresponds to a portion of the total number of data items, from the entire data stored in the memory unit, and when a data display designation operation is performed, acquires a predetermined number of data items, which is greater than the display number and corresponds to a portion of the total number of data items, in response to the display designation operation; a display rule application step in which a display rule application unit applies a predetermined display rule to the acquired data; and a display control step in which a display control unit displays data to which the display rule has been applied, including data in a display range corresponding to the initial position or data in a display range corresponding to the display designation operation, on the display unit.
[0011] In addition, in order to solve the above-mentioned problems and achieve the object, the display control program of the present invention causes a computer to function as a reception control unit that controls a communication unit to receive display designation data that specifies the data to be displayed, which is sent from a terminal device when a display designation operation is performed on the terminal device that displays the data; an acquisition unit that, at startup, acquires a predetermined number of data items at initial positions that is greater than the display number and corresponds to a portion of the total number of data items stored in the memory unit, and, upon receiving the display designation data, acquires a predetermined number of data items that is greater than the display number and corresponds to a portion of the total number of data items, corresponding to the display designation data; a display rule application unit that applies a predetermined display rule that is set in advance to the acquired data; and a transmission control unit that controls the communication unit to transmit to the terminal device data to which the display rule has been applied, which includes data in a display range corresponding to the initial position or data in a display range corresponding to the display designation data, which is displayed on the terminal device side.
[0012] In addition, in order to solve the above-mentioned problems and achieve the object, the display control program of the present invention causes a computer to function as an acquisition unit that, when started up, acquires a predetermined number of pieces of data at initial positions that is greater than the display number and corresponds to a portion of the total number of pieces of data from the entire data stored in the memory unit, and when a data display specification operation is performed, acquires a predetermined number of pieces of data that is greater than the display number and corresponds to a portion of the total number of pieces of data in response to the display specification operation, a display rule application unit that applies a predetermined display rule that is set in advance to the acquired data, and a display control unit that displays on the display unit data to which the display rule has been applied, including data in a display range that corresponds to the initial position or data in a display range that corresponds to the display specification operation. [Effects of the Invention]
[0013] The present invention can perform smooth scroll control even when a display rule is set for a display object such as a cell. [Brief explanation of the drawings]
[0014] [Figure 1]FIG. 1 is a block diagram illustrating a hardware configuration of a server device according to the first embodiment. [Figure 2] FIG. 2 is a diagram showing the flow of data during development of a display control program. [Figure 3] FIG. 3 is a diagram showing the flow of data when the developed display control program is executed as a Web application program. [Figure 4] FIG. 4 is a diagram showing an example of a layout editing screen used when developing a display control program. [Figure 5] FIG. 5 is a diagram showing a list of controls that form a layout definition. [Figure 6] FIG. 6 is a diagram showing an example of a logic flow setting screen used when developing a display control program. [Figure 7] FIG. 7 is a diagram illustrating an example of an event allocation definition. [Figure 8] FIG. 8 is a diagram illustrating an example of a logic flow definition. [Figure 9] FIG. 9 is a diagram showing an example of an action setting screen used when developing a display control program. [Figure 10] FIG. 10 is a diagram illustrating an example of an action definition. [Figure 11] FIG. 11 is a diagram illustrating an example of a flow definition. [Figure 12] FIG. 12 is a diagram illustrating an example of individual setting data individually set for each API. [Figure 13] FIG. 13 is a diagram showing an example of a condition setting screen used when developing a display control program. [Figure 14] FIG. 14 is a diagram showing an example of condition setting data indicating conditional expressions set for each condition based on the condition setting screen. [Figure 15] FIG. 15 is a diagram showing an example of a conditional expression of a business rule set in the condition setting. [Figure 16]FIG. 16 is a diagram showing an example of items that can be specified on the left and right sides of a conditional expression. [Figure 17] FIG. 17 is a diagram showing an example of operators used in the conditional expressions of the conditions. [Figure 18] FIG. 18 is a diagram showing an example of a business rule setting screen for setting the processing details when the conditions are satisfied. [Figure 19] FIG. 19 is a diagram showing an example of setting data of a business rule. [Figure 20] FIG. 20 is a flowchart showing the flow of the scroll display operation in the first embodiment. [Figure 21] FIG. 21 shows the entire data held at startup and a portion of the data acquired from the entire data, which is stored in the initial position after the business rules have been evaluated. [Figure 22] FIG. 22 shows data in the initial position obtained from the entire data, and shows data in a state where business rules have been evaluated. [Figure 23] FIG. 23 is a diagram showing a scroll position display object and part of the data that has been acquired from the entire data in response to a scroll operation and for which business rules have been evaluated. [Figure 24] FIG. 24 is a diagram showing display data corresponding to the scroll position. [Figure 25] FIG. 25 shows data acquired from the entire data in response to a scroll operation, and shows data in a state where business rules have been evaluated. [Figure 26] FIG. 26 is a schematic diagram showing how the acquisition range of data to be acquired from the entire data is changed depending on the position of the display range on the entire data. [Figure 27] FIG. 27 is a diagram showing an example in which a business rule is changed. [Figure 28] FIG. 28 is a diagram showing how, when a business rule is changed, the changed business rule is reflected by communication between the user terminal device and the server device. [Figure 29]FIG. 29 is a block diagram illustrating a hardware configuration of a user terminal device according to the second embodiment. [Figure 30] FIG. 30 is a flowchart showing the flow of the scroll display operation in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0015] Hereinafter, embodiments to which the present invention is applied will be described. The first embodiment is an example in which the present invention is applied to a server device that can execute the present invention as a so-called Web (World Wide Web) application program. The second embodiment is an example in which the present invention is applied to a user terminal device that executes the present invention as an application program stored in a storage unit. Note that these embodiments are merely examples of the present invention, and the present invention is not limited to these embodiments.
[0016] [First embodiment] (Hardware configuration of the first embodiment) Fig. 1 is a block diagram showing the hardware configuration of a server device 1 according to a first embodiment. The server device 1 shown in Fig. 1 is connected to a developer terminal device 30 and a user terminal device 40 via a network 55, such as a wide area network like the Internet or a private network like a LAN (Local Area Network). The server device 1 provides a virtual scrolling function (described later) to the user terminal device 40 via the developer terminal device 30 based on a display control program 12 developed as a so-called Web application program.
[0017] Such a server device 1 includes a storage unit 2, a control unit 3, and a communication interface unit 4. The communication interface unit 4 is connected to a developer terminal device 30 and a user terminal device 40 via a network 55.
[0018] A storage device such as a ROM (Read Only Memory), a RAM (Random Access Memory), an HDD (Hard Disk Drive), or an SSD (Solid State Drive) can be used as the storage unit 2. In addition to a display control program 12 developed via the developer terminal device 30, the storage unit 2 also stores a Web browser 13, which is a software program for displaying, for example, a development screen, a data screen, and scrolling the data screen via a Web browser 31 of the developer terminal device 30 and a Web browser 41 of the user terminal device 40.
[0019] The storage unit 2 also has a database (DB) 11, which is a storage area. This database 11 stores, for example, 50,000 pieces of data to be displayed on the user terminal device 40. When the server device 1 displays the 50,000 pieces of data via the web browser 41 of the user terminal device 40, upon starting the display control program 12, the server device 1 acquires a predetermined number (e.g., 50 pieces) of data at initial positions, which corresponds to a portion of the 50,000 pieces of data and is greater than the number of pieces to be displayed (e.g., 10 pieces), and provides the data to the user terminal device 40. Furthermore, when the server device 1 receives display specification data indicating a scroll operation from the user terminal device 40, the server device 1 acquires a predetermined number (e.g., 50 pieces) of data corresponding to the positions indicated by the display specification data and provides the data to the user terminal device 40.
[0020] Then, the server device 1 evaluates preset business rules only for, for example, 50 pieces of data to be provided to the user terminal device 40, and provides the result to the user terminal device 40. The business rules are display rules or state control rules, such as displaying prices excluding tax, displaying prices including consumption tax, or displaying prices including tax, that are set for display objects such as cells. In other words, the server device 1 does not evaluate business rules for all 50,000 pieces of data, but evaluates business rules only for the 50 pieces of data to be provided to the user terminal device 40, and provides the result to the user terminal device 40. As a result, even when a virtual scroll operation is performed, the server device 1 can evaluate business rules only for the 50 pieces of data at the display position corresponding to the virtual scroll operation, and provide the result, enabling smooth scroll control.
[0021] (Functional configuration of server device) Next, the control unit 3 executes the display control program 12 stored in the storage unit 2, thereby functioning as a communication control unit 21, an acquisition unit 22, a display rule application unit 23, and an additional data generation unit 24.
[0022] The communication control unit 21 is an example of a transmission control unit and a reception control unit, and controls communication with the developer terminal device 30 and with the user terminal device 40 via the web browser 13 and a communication interface unit (an example of a communication unit). Specifically, when developing the display control program 12, communication is performed with the developer terminal device 30 via their respective web browsers 13 and 31, as shown in FIG. 2. As a result, a display control program is created based on, for example, a low-code development platform and stored in the storage unit 2. Furthermore, when using the display control program 12, communication is performed with the user terminal device 40 via their respective web browsers 13 and 41, as shown in FIG. 3. As a result, the display control program 12 is operated as a so-called web application program, and data specified by a user is displayed on the user terminal device 40.
[0023] When the display control program 12 is started, the acquisition unit 22 acquires a total of 50 pieces of data, including 10 pieces of data in the display range that correspond to the initial position, out of the 50,000 pieces of data. The acquisition unit 22 also acquires 50 pieces of data at positions that correspond to the display specification data received by performing a scroll operation on the user terminal device 40.
[0024] The display rule application unit 23 applies business rules, which are predetermined display rules, to the acquired 50 pieces of data. The evaluated data to which the business rules have been applied is transmitted by the communication control unit 21 to the user terminal device 40 and displayed.
[0025] Furthermore, when rule change request data indicating a change to a business rule, which is a display rule, is received from the user terminal device 40, the display rule application unit 23 generates display rule data indicating the display rule corresponding to the rule change request data. This display rule data is transmitted to the user terminal device 40 by the communication control unit 21. The user terminal device 40 displays data in accordance with the display rule indicated in the display rule data received from the server device 1. This makes it possible to display data to which the changed business rule has been applied.
[0026] Furthermore, the 50,000 data items in the database 11 are physically or virtually divided into 50 items. When the display range at the time of launching the display control program 12 or the display range corresponding to the virtual scroll operation is located within one of the divided areas (within a range of 50 items), the acquisition unit 22 acquires data for the divided area in which the display range is located. On the other hand, when the display range at the time of launching the display control program 12 or the display range corresponding to the virtual scroll operation is located in a position that includes the previous and next divided areas (corresponding to the boundary between adjacent ranges of 50 items), the acquisition unit 22 acquires 100 items of data corresponding to the previous and next divided areas, respectively.
[0027] The additional data generation unit 24 generates additional data for displaying at least one of the start line number, end line number, and total number of lines of data of the current display range corresponding to the virtual scroll operation. This additional data is transmitted to the user terminal device 40 by the communication control unit 21 and displayed. This allows the start line number, end line number, and total number of lines of data of the current display range to be displayed on the user terminal device 40 side, allowing the user of the user terminal device 40 to recognize the current display position (the position corresponding to the current display range on an object whose length corresponds to the total number of data).
[0028] (Display control program development operation) Next, the development operation of the display control program 12 will be described. The development of this display control program 12 is performed on the developer terminal device 30. A developer operating the developer terminal device 30 develops the display control program 12 based on a low-code development platform, for example. The display control program 12 may also be developed by no-code development or full-scratch development. However, with low-code development, the display control program 12 can be developed relatively easily by combining screen components or logic components through visual operations based on a GUI (graphical user interface), and more detailed settings or control can be made than with no-code development.
[0029] Figure 4 shows an example of a layout editing screen displayed on the developer terminal device 30 based on the low-code development platform. The developer selects the desired control from the list of controls on this layout editing screen and places it on the screen. The example in Figure 4 shows an example in which a detail input control has been set.
[0030] Fig. 5 is a diagram showing an example of a layout definition (control list). As shown in Fig. 5, each control is associated with a control ID such as ID0 or ID1, a name, a type, and a child element ID. For example, the control on the page with ID0 is associated with a command bar with ID1 and a placeholder card with ID2. This card is also associated with a detail input control with ID3.
[0031] The detail input control ID3 is associated with a header grid panel ID4 and a data row grid panel ID10. The header grid panel ID4 is associated with header cells ID5 to ID9: code column cells, tax category column cells, tax-excluded amount column cells, consumption tax amount column cells, and tax-inclusive amount column cells. The data row grid panel ID10 is associated with data cells ID11: code cell ID11, tax category cell ID12, tax-excluded amount cell ID13, consumption tax amount cell ID14, and tax-inclusive amount cell ID15. Therefore, when a detail input control is placed on the layout editing screen in Figure 4, the header cells for the child elements code, tax category, tax-excluded amount, consumption tax amount, and tax-inclusive amount associated with the detail input control are arranged in the rows and columns.
[0032] Next, the developer defines the event that occurs when the page is launched on the logic flow setting screen shown in Figure 6. Figure 7 shows the event assignment definition, and Figure 8 shows the logic flow definition. Figures 7 and 8 show that an event named "Dataset Flow" is executed at launch. Figure 6 shows that an "API (Application Programming Interface) call" named "Dataset Flow" has been set as the action at launch on the logic flow setting screen. Figure 10 is an example of an action definition, and Figure 11 is an example of a flow definition.
[0033] Next, the developer selects an API and assigns return values to the controls based on the action setting screen shown in Fig. 9. In the example of Fig. 9, the API "Get List Data" for acquiring list data from the database 11 is selected. As shown in Fig. 10, the settings for the selected API call are configured individually (individual settings). In this example, the developer individually sets the return values of the code, tax category, tax-excluded amount, consumption tax amount, and tax-inclusive amount for the "Get List Data" API (assigned to the controls) as shown in Fig. 9. As a result, individual setting data indicating the return value settings for the code, tax category, etc. set for the "Get List Data" API is generated and added to the display control program 12, as shown in Fig. 12.
[0034] Next, the developer sets the condition expression for the business rule based on the condition setting screen shown in Fig. 13. Specifically, the developer selects the condition for which to set the condition expression from the list of conditions shown in Fig. 13. Fig. 13 shows an example of setting a condition expression for the "tax-inclusive amount_control" condition out of "tax-exclusive amount_control," "consumption tax amount_control," and "tax-inclusive amount_control."
[0035] In the example of Figure 13, for the condition "tax included amount_control", the conjunction is "OR" and the condition formula is set as "Tax category cell (value) = fixed value (0) OR Tax category cell (value) = fixed value (1)" (see Figure 14(d)).
[0036] In addition, as shown in Fig. 14(b), for the condition "tax-excluded amount_control", the conjunction "AND" can be used to set the condition formula "tax category cell (value) = fixed value (2)", and as shown in Fig. 14(c), for the condition "consumption tax amount_control", the conjunction "AND" can be used to set the condition formula "tax category cell (value) = fixed value (0)". By setting desired condition formulas for each condition in this way, condition setting data indicating the condition formula set for each condition such as "tax-inclusive amount_control" is generated as shown in Fig. 14(a), and added to the display control program 12.
[0037] In addition, as shown in Fig. 15(a), it is also possible to set the condition to be whether or not there is an error in the cell, and as shown in Fig. 15(b), it is also possible to set the condition to be whether or not the value of a variable defined on the screen is greater than the value of the cell (the variable is defined on the screen in advance, just like the control). Fig. 16 shows an example of items that can be set on the left or right side of such a conditional expression, and Fig. 17 shows an example of operators that can be set.
[0038] Next, the developer sets the processing details for each condition and each control on the business rule setting screen shown in Figure 18. The example in Figure 18 shows a case where a condition and control for which the processing details "lock item" are to be set have been selected. In addition to "lock item," other processing details such as "make item required" and "hide item" can be set for controls with desired conditions. Note that the processing details "hide item" cannot be set for cells of detail controls, but can be set for normal controls such as text boxes or column cells.
[0039] In the example of Fig. 18, the processing content "Lock item" is set for the tax-excluded amount cell in the condition "tax-excluded amount_control," the consumption tax amount cell in the condition "consumption tax amount_control," and the tax-inclusive amount cell in the condition "tax-included amount_control." When the desired processing content is set for the control of the desired condition in this way, the business rule setting data shown in Fig. 19 is generated.
[0040] This business rule setting data is added to the display control program 12. The display control program 12 is held by the server device 1, operates as a Web application program as described below, and displays data on the user terminal device 40.
[0041] (Data display operation in the first embodiment) Next, a data display operation based on the display control program 12 in the server device 1 of the first embodiment will be described. The flowchart in Fig. 20 is a flowchart showing the flow of the data display operation executed by the control unit 3 of the server device 1 operating based on the display control program 12 stored in the storage unit 2. In this flowchart, processing begins when the display control program 12 is started via the web browser 13 of the server device 1 and the web browser 41 of the user terminal device 40.
[0042] First, as described with reference to Fig. 9, list data acquisition is set as an action to be taken when the display control program 12 is started. Therefore, when the display control program 12 is started, the acquisition unit 22 acquires, for example, 50,000 pieces of data from the database 11 of the storage unit 2 in step S1, as shown in Fig. 21(a).
[0043] Next, in step S2, the acquiring unit 22 acquires 50 pieces of data corresponding to the initial positions from the acquired 50,000 pieces of data, as shown in Fig. 21(b). Specifically, if the codes A00001 to A50000 are assigned in order to the 50,000 pieces of data acquired in step S1, the acquiring unit 22 acquires a total of 50 pieces of data, A00001 to A00050, which correspond to the first piece of data to the 50th piece of data, in step S2.
[0044] Next, the display regularity main unit 23 evaluates each of the acquired 50 pieces of data based on the conditional expressions explained using Fig. 14 and the business rules explained using Fig. 18 and Fig. 19, and reflects the business rules on the target data. The cells displayed in gray in Fig. 21(b) indicate cells of data evaluated (reflected) based on the business rules.
[0045] Next, the communication control unit 21 transmits the 50 pieces of data for the initial positions evaluated based on the business rules to the user terminal device 40 via the communication interface unit 4. As shown in Fig. 22, the control unit of the user terminal device 40 displays on the display unit a total of 10 pieces of data, A00001 to A00010, of the 50 pieces of data for the initial positions evaluated based on the business rules and received from the server device 1. In other words, the control unit of the user terminal device 40 performs drawing processing on the 50 pieces of data received from the server device 1, but only displays on the display unit 10 pieces of data that correspond to the display range of the display unit.
[0046] Next, when the user of user terminal device 40 wants to change the data to be displayed, he or she slides scroll knob 38 on scroll bar (vertical) 37 shown in FIG. 23(a) along scroll bar 37. The length of scroll bar 37 is a virtual length equivalent to 50,000 pieces of data. For example, when scroll knob 38 is moved to the center of scroll bar 37, 10 pieces of data around A25,000 are displayed. When scroll knob 38 is moved to a position approximately 1 / 5 of the way from the top of scroll bar 37, 10 pieces of data around A10,000 are displayed.
[0047] In this way, by moving the scroll knob 38, it is possible to intuitively specify the desired code from among the 50,000 pieces of data to which codes A00001 to A50000 have been added, and display the data. Figures 24(a) and 24(b) show how the display range (display data) is changed by moving the scroll knob 38.
[0048] Here, the additional data generation unit 24 of the server device 1 displays at least one of the start line number of the current display range (the code of the first (first) data item in the display range), the end line number (the code of the last (10th) data item in the display range), and the number of lines of all data (for example, the number of lines of all data items, such as 50,000 or 10,000 items), depending on the position on the scroll bar 37 of the scroll knob 38.
[0049] FIG. 23(a) shows an example of this display. The example of FIG. 23(a) displays the start line number and end line number of the current display range and the number of lines of all data. That is, the example of FIG. 23 indicates that there are 10,000 pieces of data in total, and that the start line number of the current display range is 3251 (line) and the end line number is 3260 (line) (3251-3260 / 10000). In this way, by displaying the current display range numerically, the user can accurately recognize the current display range. Note that FIG. 23(b) shows an example of 50 pieces of data with codes A03251 to A03300 acquired by the acquisition unit 22 in response to the scroll operation in this example.
[0050] Next, in step S5, the acquisition unit 22 determines whether or not such a scrolling operation has been performed. If the scrolling operation is within the range of 50 items shown in Fig. 22, the control unit of the user terminal device 40 displays on the display unit 10 items of data corresponding to the operation position of the scroll knob unit 38 out of the 50 items of data that have already been acquired (virtual scrolling control).
[0051] On the other hand, if the scroll operation exceeds the range of the already acquired 50 items (step S5: Yes), the process proceeds to step S6, where the acquisition unit 22 acquires 50 new items of data from the database 11, including a display range equivalent to the 10 items of data to be displayed by the scroll operation. The display rule application unit 23 evaluates the business rules for the newly acquired 50 items of data, as described in step S3. The communication control unit 21 transmits the evaluated 50 items of data to the user terminal device 40.
[0052] The control unit of the user terminal device 40 displays 10 pieces of data corresponding to the display range out of the 50 pieces of data newly acquired from the server device 1 in response to the scroll operation, as exemplified in Fig. 25. In the example of Fig. 25, 50 pieces of data with codes A03251 to A03300 are acquired out of a total of 50,000 pieces of data, and of these, 10 pieces of data with codes A03251 to A03260 are displayed.
[0053] The server device 1 of the embodiment evaluates the business rules every time new data is acquired from the database 11 in response to a scroll operation and transmits the business rules to the user terminal device 40. This makes it possible to shorten the time required to transmit new data corresponding to the scroll operation for which the business rules have been evaluated to the user terminal device 40, thereby enabling smooth scroll operations (improving the responsiveness of the scroll operation).
[0054] Here, for example, 50,000 pieces of data stored in the database 11 are physically or virtually divided into, for example, every 50 pieces of data, as shown in Figures 26(a) and 26(b). The acquisition unit 22 acquires 50 pieces of data including data of a display range of 10 pieces according to the scroll operation position from the database 11, but there are cases where a scroll operation is performed to position the display range of 10 pieces within a divided area of 50 pieces, as shown in Figure 26(a), and cases where a scroll operation is performed to position the display range of 10 pieces at the boundary between successive divided areas, as shown in Figure 26(b).
[0055] For this reason, in step S6 of the flowchart in Fig. 20, the acquiring unit 22 determines whether the display range of the data resulting from the scroll operation is within the partitioned area. If it is determined that the display range of the data resulting from the scroll operation is within the partitioned area (step S6: Yes), the acquiring unit 22 acquires 50 pieces of data in the partitioned area that includes the display range of the data resulting from the scroll operation, as shown in Fig. 26(a).
[0056] On the other hand, if the display range of data due to the scroll operation is outside the divided areas (step S6: No), this means that the display range is located at the boundary between successive divided areas. Therefore, the acquisition unit 22 proceeds to step S10 and acquires data for each divided area that forms the boundary where the display range is located. In this case, the acquisition unit 22 acquires 50 pieces of data for one divided area that forms the boundary and 50 pieces of data for the other divided area that forms the boundary, for a total of 100 pieces of data.
[0057] The acquired data is evaluated against the business rules by the display rule application unit 23 as described above (step S8), and then transmitted to the user terminal device 40 by the communication control unit 21 (step S9). The processes of steps S5 to S10 are repeated until the display is completed.
[0058] Next, a user may change a business rule on the user terminal device 40 side. Figures 27(a) and 27(b) show an example in which the cell for the tax-inclusive amount of data coded C00001 is changed from locked to unlocked. In this case, the user of the user terminal device 40 changes the tax category from "2" to "1" in order to lock the cell for the tax-inclusive amount.
[0059] As an example, if the tax category is set to "2", the business rule locks the amount excluding tax. Also, if the tax category is set to "0", the business rule locks the consumption tax amount. Furthermore, if the tax category is set to "0" or "1", the business rule locks the amount including tax.
[0060] The tax category values are "0" to indicate no tax, "1" to indicate tax-exclusive, and "2" to indicate tax-inclusive.
[0061] When such a business rule change operation is performed, the control unit of the user terminal device 40 sends the pre-change and post-change values of the tax category cell to the server device 1, as shown in Figure 28, and requests evaluation (re-evaluation) of the business rule.
[0062] When such a reevaluation request is made, the display rule application unit 23 of the server device 1 generates display rule data indicating the changed display rules based on the changed values of the tax category cells. This display rule data is transmitted by the communication control unit 21 to the user terminal device 40 as the evaluation result of the business rules.
[0063] The control unit of the user terminal device 40, by changing the tax category from "2" to "1", reflects the evaluation result of the business rule re-evaluated on the server device 1 side in the control, and switches the control of the control based on this evaluation result. As a result, by changing the tax category from "2" to "1", as shown in Figure 27(c), the cell for the amount excluding tax in the details of the line with code C00001 is controlled to be unlocked, and instead the cell for the amount including tax is controlled to be locked.
[0064] (Effects of the first embodiment) As is clear from the above description, the server device 1 of the first embodiment applies display rules (state control rules) such as business rules to partial data acquired from all data in response to a scroll operation. This enables smoother and more responsive scroll control compared to when scroll control is performed after applying display rules (state control rules) such as business rules to all data.
[0065] Furthermore, for example, the entire data set (e.g., 50,000 items) is physically or virtually divided into 50 partitioned areas, and when the display range at startup or the display range corresponding to a scroll operation is located at a position that includes the previous and next partitioned areas, data corresponding to the previous and next partitioned areas is acquired and the data in the display range is displayed. As a result, when the display range corresponding to a scroll operation is located at the boundary between partitioned areas, data from both one partitioned area and the other partitioned area adjacent to the boundary can be acquired in advance. Therefore, whether a scroll operation is performed in one direction from the boundary or in the other direction, the acquired data can be accessed and the data can be displayed with good response in either case.
[0066] Furthermore, when the scroll knob 38 is operated to point or during a scroll operation, at least one of the start line number, end line number, and total number of data lines of the data display range corresponding to the current scroll operation position is displayed, thereby allowing the operator to recognize the current scroll operation position.
[0067] [Second embodiment] Next, a second embodiment of the present invention will be described. This second embodiment is an example in which the above-mentioned display control is executed based on a display control program stored as an application program in the storage unit 2 of the user terminal device 40. Note that the only difference between the first embodiment described above and the second embodiment described below is the entity that executes the display control program. For this reason, the differences when the display control program is executed will be mainly described, and redundant explanations will be omitted.
[0068] (Hardware configuration of the second embodiment) Fig. 29 is a block diagram illustrating the hardware configuration of user terminal device 40 according to the second embodiment. As shown in Fig. 29, user terminal device 40 includes a storage unit 42, a control unit 43, a communication interface unit 44, and an input / output interface unit 45. An input device 46 and an output device 47 are connected to input / output interface unit 45.
[0069] The output device 47 may be a display unit such as a monitor device (including a home television). The input device 46 may be a keyboard device, a mouse device, a microphone device, or a monitor device that cooperates with a mouse device to achieve a pointing device function. The communication interface unit 44 is connected to the developer terminal device 30 and the server device 1 described above via a network 55.
[0070] The storage unit 2 may be, for example, a read-only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), or a solid state drive (SSD). A display control program 52 developed by a developer of the developer terminal device 30 based on, for example, a low-code development platform is stored in the storage unit 2. This display control program 52 may be a display control program developed by the developer and stored in the server device 1, which may be downloaded to the user terminal device 40 for use, or may be read from a storage medium such as a semiconductor memory or a disk-shaped storage medium and installed in the storage unit 42 of the user terminal device 40 for use.
[0071] The storage unit 42 also includes a database (DB) 11 that stores 50,000 pieces of data downloaded from the server device 1. The storage unit 42 also includes a drawing data storage unit 51 that temporarily stores 50 pieces of data (drawing data) read from the database 11 for display.
[0072] (Functions of user terminal devices) The control unit 43 of the user terminal device 40 executes the display control program, thereby functioning as an acquisition unit 61, a display rule application unit 62, a display control unit 63, an additional data generation unit 64, and a communication control unit 65.
[0073] When the display control program is started, the acquisition unit 61 acquires a predetermined number (e.g., 50 items) of data at initial positions, which is greater than the number of items to be displayed (e.g., 10 items), from all the data stored in the database 11. Furthermore, the acquisition unit 61 acquires new 50 items of data from the database 11 in response to a scroll operation performed via the input device 46.
[0074] The display rule application unit 62 evaluates the acquired 50 pieces of data against the preset business rules described above. The evaluated 50 pieces of data are stored in the drawing data storage unit 51.
[0075] When the display control program 52 is started, the display control unit 63 displays the data of the display range corresponding to the initial position stored in the drawing data storage unit 51 via the output device 47, which is an example of a display unit. When a scroll operation is performed, the display control unit 63 reads the data of the display range corresponding to the scroll operation from new data stored in the drawing data storage unit 51 in response to the scroll operation and displays it via the output device 47.
[0076] 27 and 28, when a business rule change operation is performed, the display rule application unit 62 generates display rule data indicating the changed display rule based on the changed value of the tax category cell, for example. The display control unit 63 reflects the evaluation result of the reevaluated business rule, which is this display rule data, in the control and switches the control of the control based on this evaluation result. As a result, as shown in FIG. 27(c), by switching the tax category from "2" to "1," the cell for the amount excluding tax in the details of the row with the code C00001 is unlocked, and instead the cell for the amount including tax is locked.
[0077] Furthermore, the total number of 50,000 data items in the database 11 is physically or virtually divided into divided areas of 50 items each. As explained using FIG. 26(a), when the display range is located within a divided area, the acquiring unit 61 acquires 50 pieces of data for that divided area from the database 11. As explained using FIG. 26(b), when the display range is located at the boundary between consecutive divided areas, the acquiring unit 61 acquires 50 pieces of data for one divided area forming the boundary and 50 pieces of data for the other divided area, a total of 100 pieces of data, from the database 11.
[0078] Furthermore, the additional data generation unit 64 generates additional data for displaying at least one of the start line number, end line number, and total number of lines of data of the current display range corresponding to the scroll operation. Based on this additional data, the display control unit 63 displays at least one of the start line number, end line number, and total number of lines of data of the current display range, as described with reference to Figure 23(a). This allows the user to recognize the display range of the currently displayed data, etc.
[0079] The communication control unit 65 controls the communication interface unit 44, which is an example of a communication unit, so as to communicate with the server device 1 and with the developer terminal device 30.
[0080] (Data display operation in the second embodiment) Next, a data display operation based on the display control program 52 in the user terminal device 40 of the second embodiment will be described. The flowchart in Fig. 30 shows the flow of the data display operation executed by the control unit 43 of the user terminal device 40 operating based on the display control program 52 stored in the storage unit 42.
[0081] The flowchart corresponding to the data display operation of the first embodiment shown in FIG. 20 and the flowchart corresponding to the data display operation of the second embodiment shown in FIG. 30 differ in that, between steps S3 and S5, steps S21 and S22 are performed instead of step S4, and steps S23 and S24 are performed instead of step S9. Therefore, the processing of steps S21 to S24, which are the differences between the two, will be explained below. The processing other than steps S21 to S24 will be assigned the same step numbers as in the flowchart of FIG. 20, and redundant explanations will be omitted. For detailed explanations of steps S1 to S3, steps S5 to S8, and step S10 in the flowchart of FIG. 30, please refer to the explanations of the same step numbers in the first embodiment described above.
[0082] 30, when the display control program 52 is started, the acquisition unit 61 acquires 50 pieces of data corresponding to the initial position (see FIG. 21(b)) from the database 11 (see FIG. 21(a)) in which, for example, 50,000 pieces of data are accumulated. The evaluation rule application unit 62 evaluates the 50 pieces of data in the initial position based on the business rules (see FIGS. 18 and 19), and stores the evaluation results in the drawing data storage unit 51 (step S21).
[0083] The display control unit 63 reads out 10 pieces of data corresponding to the display range of the initial position from the drawing data storage unit 51 out of the 50 pieces of data that have been evaluated, and displays them via the output device 47 (step S22). As a result, as described with reference to FIG. 22, it is possible to display 10 pieces of data corresponding to the display range of the initial position out of the 50 pieces of data evaluated by the business rules.
[0084] Next, when 50 pieces of data corresponding to the scroll operation are newly acquired from the database 11 (steps S5 to S7 and step S10), the newly acquired 50 pieces of data are evaluated based on the business rules (step S8) and stored in the drawing data storage unit 51 (step S23). The display control unit 63 reads out 10 pieces of data corresponding to the scroll operation from the data stored in the drawing data storage unit 51 and displays them on the output device 47 (step S24). As a result, as described with reference to FIG. 25, it is possible to display 10 pieces of data corresponding to the display range to which the business rules have been applied on the output device 47.
[0085] (Effects of the second embodiment) As is clear from the above explanation, the user terminal device 40 of the second embodiment applies display rules (state control rules) such as business rules to partial data acquired from all data in response to a scroll operation. This enables smoother and more responsive scroll control compared to when scroll control is performed after applying display rules (state control rules) such as business rules to all data.
[0086] Furthermore, for example, the entire data set (e.g., 50,000 entries) may be physically or virtually divided into 50 partitioned areas, and if the display range at startup or the display range corresponding to a scroll operation is located at a position that includes the previous and next partitioned areas, data corresponding to the previous and next partitioned areas is acquired and the data in the display range is displayed. As a result, if the display range corresponding to a scroll operation is located at the boundary between partitioned areas, data from both the first and second partitioned areas adjacent to each other across the boundary can be acquired in advance. Therefore, whether a scroll operation is performed in one direction from the boundary or the other direction, the acquired data can be accessed and data can be displayed with good response in either case.
[0087] Furthermore, when the scroll knob 38 is operated to point or during a scroll operation, at least one of the start line number, end line number, and total number of data in the data display range corresponding to the current scroll operation position is displayed, thereby allowing the operator to recognize the current scroll operation position.
[0088] [Contribution to the United Nations-led Sustainable Development Goals (SDGs)] This embodiment can contribute to improving business efficiency and promoting appropriate management decisions by companies, thereby contributing to the achievement of Goals 8 and 9 of the SDGs.
[0089] Furthermore, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, thereby contributing to the achievement of SDGs Goals 12, 13, and 15.
[0090] Furthermore, this embodiment can contribute to strengthening control and governance, which can contribute to the achievement of Goal 16 of the SDGs.
[0091] [Other embodiments] The present invention may be implemented in various different embodiments other than those described above within the scope of the technical concept set forth in the claims.
[0092] For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods.
[0093] Furthermore, the processing procedures, control procedures, specific names, information including parameters such as registered data and search conditions for each process, screen examples, and database configurations shown in this specification and drawings can be changed as desired unless otherwise specified.
[0094] Furthermore, with regard to the server device 1 or the user terminal device 40, the components shown in the figures are conceptual functional components, and do not necessarily have to be physically configured as shown in the figures.
[0095] For example, all or any part of the processing functions of the server device 1 or the user terminal device 40, particularly the processing functions performed by the control units 3 and 43, may be implemented by a CPU (Central Processing Unit) and a program interpreted and executed by the CPU, or may be implemented as hardware using wired logic. The program is recorded on a non-transitory computer-readable recording medium containing programmed instructions for causing the information processing device to execute the processes described in each embodiment, and is mechanically read by the server device 1 or the user terminal device 40 as needed. That is, a computer program is recorded in a storage unit such as a ROM or HDD for cooperating with an OS to issue instructions to the CPU and perform various processes. The computer program is executed by being loaded into RAM, and cooperates with the CPU to constitute the control unit 3 or the control unit 43.
[0096] In addition, the display control programs 12, 52 of the server device 1 or the user terminal device 40 may be stored in another server device connected to the server device 1 or the user terminal device 40 via any network, and all or part of them may be downloaded as needed.
[0097] Furthermore, the display control programs 12 and 52 for executing the processes described in each embodiment may be stored in a non-transitory computer-readable recording medium or configured as a program product. Here, the term "recording medium" includes any "portable physical medium" such as a memory card, a Universal Serial Bus (USB) memory, a Secure Digital (SD) card, a flexible disk, a magneto-optical disk, a ROM, an Erasable Programmable Read Only Memory (EPROM), an Electrically Erasable and Programmable Read Only Memory (EEPROM (registered trademark)), a Compact Disk Read Only Memory (CD-ROM), a Magneto-Optical Disk (MO), a Digital Versatile Disk (DVD), and a Blu-ray (registered trademark) disc.
[0098] Furthermore, a "program" is a data processing method written in any language or description method, and does not matter whether it is in the form of source code or binary code. Note that a "program" is not necessarily limited to a single structure, but also includes a structure that is distributed as multiple modules or libraries, or a structure that achieves its function by cooperating with a separate program, such as an OS. Note that the specific structure and reading procedure for reading a recording medium in the server device 1 or user terminal device 40 shown in the embodiments, as well as the installation procedure after reading, may use well-known structures and procedures.
[0099] The memory unit 2 and the memory unit 42 are storage means such as memory devices such as RAM, ROM, fixed disk devices such as hard disks, flexible disks, and optical disks, and store various programs, tables, databases, and web page files used for various processes and providing websites.
[0100] The server device 1 or the user terminal device 40 may be configured as an information processing device such as a known personal computer device or a workstation, or may be configured as an information processing device connected to any peripheral device. The information processing device may be realized by installing software (including programs or data) that realizes the processing described in this embodiment.
[0101] Furthermore, the specific form of distribution and integration of the devices is not limited to that shown in the drawings, and all or part of them can be configured by functionally or physically distributing and integrating them in any unit according to various additions or functional additions. In other words, the above-described embodiments can be implemented in any combination, or embodiments can be implemented selectively. [Industrial Applicability]
[0102] The present invention is suitable for application to screen scroll control in various industries. [Explanation of symbols]
[0103] 1. Server device 2 Storage section 3. Control Unit 4. Communication interface section 11 Database (DB) 12 Display control program 13 Web Browser 21 Communication control unit 22 Acquisition Department 23 Display Homecoming Application Section 24 Additional data generation unit 30 Developer terminal device 31 Web Browser 37 Scrollbar (vertical) 38 Scroll knob 40 User terminal device 41 Web Browser 42 Storage section 43 Control Unit 44 Communication interface section 45 Input / output interface section 46 Input Devices 47 Output Device 52 Display control program 55 Network 61 Acquisition Department 62 Labeling Regulation Application Department 63 Display control unit 64 Additional data generation unit 65 Communication control unit 75 Scroll position display object
Claims
[Claim 1] a reception control unit that controls the communication unit to receive display designation data that designates the data to be displayed, the display designation data being transmitted from the terminal device when a display designation operation is performed on the terminal device that displays the data; an acquisition unit that, at startup, acquires a predetermined number of pieces of data at initial positions, which corresponds to a portion of the total number of pieces of data and is greater than the number of pieces of data to be displayed, from among all the pieces of data stored in the storage unit, and, upon receiving the display designation data, acquires a predetermined number of pieces of data, which corresponds to a portion of the total number of pieces of data and is greater than the number of pieces of data to be displayed, in response to the display designation data; a display rule application unit that applies a predetermined display rule to the acquired data; a transmission control unit that controls the communication unit to transmit to the terminal device the data to which the display rule is applied, the data including the data of the display range corresponding to the initial position or the data of the display range corresponding to the display specification data, which is displayed on the terminal device side; A display control device having:
Citation Information
Patent Citations
Client memorandum system
JP2006139794A
Program, and apparatus and method for searching database
JP2009238027A
Data display device and program
JP2012198917A
Information processing device, control method therefor, and program
JP2014186532A
Display, image processing apparatus, display system, and program
JP2019087120A