| **Navigation:**  [[templates.htm|Templates]] > Guide to all Templates > Control Templates >====== BrowseGrid ====== | [[tplcontrolbrowsefuzzymatching.htm|{{btn_prev_n.gif|Previous page}}]][[templates.htm|{{btn_home_n.gif|Return to chapter overview}}]][[tplcontrolbrowseprintbutton.htm|{{btn_next_n.gif|Next page}}]] | | || The BrowseGrid template provides a group control that is used to define an area (within a BrowseBox) to display controls in a matrix format. The size of the BrowseGrid control and BrowseBox can be manipulated to give the end result of a matrix with one column or many. When this template is added, the BrowseBox control does not display at runtime. This feature is particularly useful for Web applications, but can also extend the capabilities of desktop applications. **Requirements** This template requires a BrowseBox control template. The BrowseGrid GROUP box must be placed entirely within the BrowseBox. If the application is to be a Web application, the WebGridExtension must be added to the procedures extension set. **Populating the Control Template** Open the Window Designer for any procedure containing a BrowseBox control. Select **Populate **{{c6h0013.jpg|C6H0013.jpg}}** Control Template. **The //Select Control Template//** **dialog displays. Highlight //BrowseGrid// and press the **Select **button. Click on the window at the position where you want the Browse Grid. {{notebox.jpg|NoteBox.jpg}} If you have a multi-tab Browse, you do not want to populate the control template inside the TAB structure. Populating it outside of the structure will enable it to display for all tabs. Resize the //BrowseGrid// Group box, as desired. The size of the LIST and the size of the GROUP determine how many columns will appear at runtime. The smaller the GROUP width, the more columns will be displayed at runtime. This layout will produce a list with two columns and multiple rows (GROUP box ½ the size of the LIST box): {{browsegridmulti.jpg|BrowseGridMulti.jpg}} This next layout will produce a grid with one column and multiple rows: {{browsegridsingle.jpg|BrowseGridSingle.jpg}} Populate other controls you want to display for each record. Keep in mind that these are for display only unless you write the code to update records. Typically, you will populate STRING controls in a BrowseGrid GROUP. You may also want to populate a DynamicImage control. **Template Prompts** The BrowseGrid template provides the following prompts: **Expression for Group Title** Specifies a string, variable, or runtime expression using EVALUATE to use as the title for the group box that outlines each entry in the grid. To specify a variable here, precede the entry with an exclamation point (!). To specify a runtime expression, precede the entry with an equal sign (=). Press the "E" button to call the Expression Editor. This dialog is used to help you construct syntactically correct expressions to use in the **Expression for Group Title** prompt. **Color of Selected Group** Specifies the color of the currently selected group in the BrowseGrid. Type in a valid color equate, hex color code, or choose from the color dialog by pressing the ellipsis button. {{notebox.jpg|NoteBox.jpg}} If a color is specified in a Web application, the specific color used at runtime is taken from the web skeleton set. **Update on control event** Check this box to allow the **Update Control** use variable to update when the **Update Control Event** occurs. **Update Control** Specifies the control that will initiate the update. **Update Control Event** Specifies the event that triggers the update action. **Make Group Selectable** Check this box to indicate the group defined by the BrowseGrid can be selected and generate events. **Forward Other Control Clicks** Check this box to force an EVENT:Accepted action to the **Forward Click To **control when a cell in the matrix is selected. A DOUBLE-CLICK activates the action in a Windows application. **Forward Other Control Clicks (To)** Specifies the control to process when a cell in the BrowseGrid matrix is selected.