Skip Navigation LinksALVAO 11.2Extension modulesALVAO Service Desk Custom AppsCustom form for submitting new ticketColumnsControl element Skip Navigation Links.


Skip Navigation LinksALVAO 11.2 / Extension modules / ALVAO Service Desk Custom Apps / Custom form for submitting new ticket / ColumnsControl element

ColumnsControl element

The ColumnsControl control displays the input field on the form for entering values directly into the ticket items.

ColumnsControl generates the entire form input field with description. For basic functionality, you need to set the displayed items (e.g. ShowColumns = "tHdTicket.mHdTicketNotice"), or required items (e.g. RequiredColumns="tHdTicket.mHdTicketNotice"). Items are displayed in the order specified from top to bottom.

Each ColumnControl element needs to be initialized. In the .cs file in the ConfigControls() function, use the following line for each ColumnsControl element used on the form:
((DynamicModel)Model).GetControl<ColumnsControl>("ColumnsControl0");
Use the name of your element instead of ColumnsControl0.

If you insert this control into the form between <div id="CustomFormContent" and </div>, the values will be automatically saved when the CreateTicket function is called. The control can be used multiple times on the same page. See below for possible additional settings and an example.

Tip:
We recommend that you configure ColumnsControl using the attributes on the page (.cshml). ColumnsControl can also be configured in code (.cs).
Note:
To keep these items from being added to the ticket text, you need to place it outside of <div id="CustomFormContent" and </div>, but then you need to manually save the filled values by calling the UpdateColumns(...) function for each ColumnsControl and each ticket created.
Note:
When the page is displayed, the ColumnsControl tries to get the SectionId automatically from the specified web address. If the web address contains the address parameter iHdSectionId=number, the "number" is used as the ID of the selected service unless set otherwise. (E.g. http://app.contoso.com/Custom/ALVAO/NewTicket_Template/?iHdSectionId=11 contains service ID #11. This will automatically be set as SectionId.)
This functionality can be disabled by setting SectionId="0" or by setting a specific service.
Note:

ColumnsControl performs a basic rights check:

  • If TicketId is set, the logged-in user needs to be able to view this ticket otherwise the user is redirected to an error page.

Parameter format

The following parameter formats are used in attribute and function descriptions:

  • columns - a list of columns in the format "table1.column1, table1.column2, ...". In this way, one or more columns can be defined for the current ColumnsControl.
    Allowed columns:
    table.column Ticket item Notes
    tHdTicket.mHdTicketNotice Notes
    tHdTicket.sHdTicketGroup Group Allows values other than the predefined values.
    tHdTicket.sHdTicketDeviceCode Device number
    tHdTicket.FeedbackSolveSpeed Solution Speed  
    tHdTicket.FeedbackProfessionality Professionalism  
    tHdTicket.FeedbackExpertise Excellence  
    tHdTicket.FeedbackComment Comments and Notes  
    tHdTicket.RelatedAccountId Related Organization  
    tHdTicketCust.* custom fields The individual columns in the tHdTicketCust table that represent custom fields. Instead of an asterisk, specify the name of the specific column.
  • sectionId - service id
  • sectionName - the full name of the service, including the path (e.g. "Helpdesk/Problems")
  • mode - one of Edit (default) and View
  • msg - string containing the text displayed for the unfilled requested item
  • ticketId - the ticket number to view/save

Attributes in cshtml

  • ShowColumns = columns - columns to be generated per form and stored in db. The columns are displayed in the specified order from top to bottom.
  • RequiredColumns = columns - columns that must be filled to enable saving. These columns must also be in the ShowColumns attribute. The order does not matter.
  • SectionId = sectionId - sets the ID and name of the service. This influences the values to select for the code list items (if values are defined for a specific service).
  • SectionName = sectionName - sets the ID and name of the service. This affects the values to select for the codebook items (if values are defined for a specific service).
  • Mode = mode - sets the display mode.
  • TicketId = ticketId - sets the ticket ID to edit/display/save.
  • CssClass - css style class.
  • IgnoreColumns = columns - columns that will not be displayed.
  • IncludeServiceColumns - flag whether to display columns according to the service process specified in the SectionId
  • IncludeRequiredColumns - flag if required columns should be displayed according to the service process specified in SectionId.

Functions

Note:
It is not necessary to use these functions for the basic functionality of the ColumnsControl element.
  • UpdateColumns() - stores the filled values in the db in the ticket whose id is set by the TicketId attribute.
  • UpdateColumns(int ticketId) - stores the filled values in db to ticket number ticketId.

Example of use

Example of displaying the Group (tHdTicket.sHdTicketGroup) and Notes (tHdTicket.mHdTicketNotes) items. The Group item is mandatory:

  • .cshml + autosave (using the CreateTicket function call)

    .... Your form content....

    @Html.EditorFor(m=> m["ColumnsControl0"], "ColumnsControl", new { ShowColumns="tHdTicket.sHdTicketGroup,tHdTicket.mHdTicketNotice",RequiredColumns="tHdTicket.sHdTicketGroup" })
    .... Rest of form....

Another example usage can be found at "~/Custom/Templates/NewTicket_Template.cshtml" and those derived from it.

 

Did not find what you were looking for? Ask our technical support team.