Displays a detailed view of a database object, including tabbed miniviews consisting of linked menu items.
The TabView mode displays other menu items in tabs created from menu item links of type Miniview Tab. It uses its component SQL to customize the tags, for example to change the title or to dynamically hide a tab.
A Detailview can display any number of info boxes. Below the info boxes there can be zero or more tabs. A tab is an area with a Softadmin® component in it.
You can display any number of info boxes. They are positioned right-to-left as far as the width of the browser window allows. The width of an info box can be set to span multiple normal info boxes. If so the widened info box will always be displayed on its own row. In the example below the first two boxes are set to span two and three columns respectively, followed by three boxes with normal width. Notice how the layout changes when the browser window is resized.
An info box can contain a list of field names and values. The "Car details" info box shown above has four field names: Model, Year model, Price (SEK) and Fuel.
An info box can also display free flowing text, as seen at the bottom of the "Car details" info box.
The appearance of the fields can be modified by setting their color and css-styles. You can also display an icon before the field text.
The up-arrow in an info box's header can be clicked, to collapse the box. It can be either collapsed or expanded by default.
An info box can be a pure text block. In this case html can be used.
The title of the info box as well as it's fields can be made into clickable links. The "E-mail" link in this case is a so called "content link", which opens the users preferred e-mail client instead of an internet browser.
You can convert a string of characters to a QR Code. The size of the QR code will vary depending on the length of the string. It can hold a maximum of 2 kB.
You can display a chart in an info box. For details on what kinds of charts are available, refer to the Chart component.
You can display one or more meters in an info box.
An info box can contain a frame with an external webpage. Make sure the webpage doesn't use cookies.
If you want to grab the users attention, you can display an error (red), a warning (yellow) or an information (blue) message as a special banner. In this example one of each is shown, but you can display any number of error, warning or info messages.
The tabs are situated below the info boxes. When the detail view is loaded, you can choose which tab is open initially. Please note that the tabs and the info boxes might compete for the vertical space if they both contain a lot of content.
If there is not enough space for a tab, you can collapse one or more info boxes (se above), or you can switch the tab to fullscreen mode.
Use this call to customize the tabs, for example to change the title or dynamically hide a tab.
Allows you to validate the parameters supplied by the user before any other SQL is run in the component. This call is only made if the component has visible parameters, the SQL is a stored procedure, and 'Validate parameters' is checked.
SQL that can have several resultsets that are displayed at top of component.
Possible value | Description |
---|---|
Center | Center aligned. |
Left | Left aligned. |
Right | Right aligned. |
Possible value | Description |
---|---|
boolean checkbox | Legacy alias. Use "checkbox" instead. |
boolean dropdown | |
chart | |
checkbox | |
Checkbox tree | |
colorpicker | |
date | |
datetime | |
dropdown | |
file | |
heading | |
heading with checkbox | |
hidden | |
html | |
info text | |
listbox | |
multi-listbox | |
multi-picker | |
multirow | |
password | |
picture | |
radio buttons | |
textarea | |
textbox | |
textbox with autosearch | |
textbox with autosuggest | |
textbox with dropdown | |
textbox with popup | |
time | |
uneditable text |
Possible value | Description |
---|---|
Default | Inherit layout from menu item. |
LabelAbove | Full width, label above. |
LabelLeft | Label to the left. |
NoLabel | Full width, no label. |
Standard | Deprecated. Use LabelLeft instead. |
Possible value | Description |
---|---|
Hyperlink | |
MailToLink | |
PhoneLink |
Possible value | Description |
---|---|
Current | This is the current step. |
Done | This step has been completed successfully. |
Failed | Something went wrong in this step. |
Future | This step is later on in the process. |
Use this call to restrict which entries a user is allowed to view and edit, and to log which entries a user views.
Access to a menu item is normally controlled through functions and roles alone but some entities need more fine grained control. For example, a user may have access to the View Member menu item for normal members but not for members with a protected identity.
The menu items a user visits are always logged (in ADMINLogMenuItem) but for sensitive data you may need to log exactly what entries are viewed. Do the logging in this call as the common ways of viewing data (grid and InfoSQL) are not allowed to modify the database.
If you bind a scalar function instead of a stored procedure to this call then its name must end with '_GrantAccess'.
You can use dynamic tabs to create multiple copies of the same link with different titles and passing fields. In this example we create one tab for each active status.
SELECT
1 AS LinkId,
MaintenanceItemStatus AS TabTitle,
-- Passingfields
MaintenanceItemStatusId
FROM
dbo.MaintenanceItemStatus
WHERE
IsHandled = 0
ORDER BY
SortOrder
You can use both BadgeCount and BadgeCountUrgent on the same link. Urgent will take precedence if there are any invoices due, otherwise a normal hit count will be shown.
WITH InvoiceOpen AS (
SELECT *
FROM
dbo.InvoiceHead
WHERE
ProjectId = @ProjectId AND
IsHandled = 0
)
SELECT
1 AS LinkId,
(
SELECT COUNT(*) FROM InvoiceOpen
) AS BadgeCount,
(
SELECT COUNT(*) FROM InvoiceOpen
WHERE DueDate <= GETDATE()
) AS BadgeCountUrgent
The InfoSQL stored procedure should be named <Schema>.<Table>_GetDetails
.
The SQL stored procedure should be named <Schema>.<Table>_GetDetails_DynamicTabs
.