GridPlus Component Plug-In

 

Important Note: Starting in Appian 25.2, Grid+ will be included as an exclusive offering within Advanced and Premium license tiers. This enhanced version will be actively maintained and updated. This listing will remain active and will continue to receive necessary security and CVE updates until May 23rd, at which point, it will be deprecated.

Overview

An editable grid that easily display up to 5,000 rows of editable record data at a time, without needing pagination or experiencing lag. Data is displayed in a flexible and modern interface, equipped with features such as drag & drop columns, column sorting and filtering, manually adjustable column sizes, freezable columns, and many others.

End user abilities include:

  • Quickly manipulate single items of data or large batches by way of multicell selection
  • Create new records by adding data into empty rows either in the middle or at the bottom of the grid
  • Delete records by the 'remove rows' button in a pop up context menu

Key Features & Functionality

  • Flexible presentation of record data
    • Resize columns
    • Drag & drop columns
    • Display row headers
    • Add borders around selected cells
    • Hide or show columns
    • Freeze or unfreeze columns
    • Define column widths for each column
    • Display links to record views
  • Export record data from grid: download to local storage a CSV file of your grid’s current data view
  • Sorting and filtering: rapid, server-side, multi-column
  • Data formatting: currency, percentages, date, dropdowns, checkboxes, etc.
  • Edit records: alter individual or many cell values to update existing records
  • Create records: create new records of a designer-specified record type
  • Delete records: remove rows of data to delete records from the data fabric
  • Excel-like behavior
    • Range cell selection with mouse select and drag
    • Copy, cut, and paste
    • Keyboard manipulation of and navigation between data
    • Intuitive context menus with complex functionality (insert new row, remove row, cut, copy, add border)
  • User based security: restrict editing by user and group with SAIL expressions
  • Column level data types (Auto-Wrapping Text, Numeric, Date, Dropdown, Checkbox)
    • Specialized filtering, editing, and validation ability by type
  • Internationalization: Automatically applies language updates based on the locale configured in Appian's internationalization settings (Supported locales include: arAR, zhCN, nlNL, enUS, frFR, deDE, itIT, jaJP, koKR, plPL, ptBR, ruRU, and esMX)
Anonymous
  • Hi  ,
    I am facing an issue in writing related records.
    Suppose I have a record A which is mapped to record B.
    I want to update the columns of B record also from grid itself, however the related fields are in read-only mode, despite of setting readOnly parameter false.
    Can we achieve above functionality?

  • Hi  please have look at the below code:

    a!localVariables(
      local!changes: {},
      local!data: {
        a!map(
          id: 1,
          registeredOn: todate("1/1/2024"),
          name: "shahid",
          isActive: false
        ),
        a!map(
          id: 2,
          registeredOn: todate("2/11/2024"),
          name: "ankit",
          isActive: false
        ),
        a!map(
          id: 3,
          registeredOn: todate("5/14/2024"),
          name: "shahid",
          isActive: false
        ),
        a!map(
          id: 4,
          registeredOn: todate("12/11/2024"),
          name: "ankit",
          isActive: false
        )
      },
      {
        gridPlusLayout(
          label: "Grid+ Layout",
          labelPosition: "ABOVE",
          validations: {},
          height: "AUTO",
          rowsValue: local!data,
          rowsSaveInto: {
    
            a!save(
    
              local!data,a!forEach(
                items: local!data,
                expression: a!update(fv!item,"isActive",true))
            )
          },
          primaryKeyFieldName: "id",
          columnConfigs: {
            textcolconfig(
              field: "id",
              title: "ID",
              relationshipName: null,
              validator: null,
              readOnly: true,
              colWidth: 30
            ),
            checkboxcolconfig(
              field: "isActive",
              label: "",
              labelPosition: "BEFORE",
              checkedTemplate: true,
              uncheckedTemplate: false,
              title: "Is Active",
              relationshipName: null,
              validator: null,
              readOnly: true,
              colWidth: 50
            ),
            textcolconfig(
              field: "name",
              title: "Name",
              relationshipName: null,
              validator: null,
              readOnly: false,
              colWidth: 100
            ),
            datecolconfig(
              field: "registeredOn",
              dateFormat: null,
              correctFormat: false,
              title: "Date",
              relationshipName: null,
              validator: null,
              readOnly: true,
              colWidth: 100
            )
    
    
    
    
    
          },
          changeDataValue: local!changes,
          changeDataSaveInto: local!changes,
          /*deleteDataValue: local!deletions,*/
          /*deleteDataSaveInto: local!deletions,*/
          readOnly: null,
          rowHeaders: true,
          hiddenFields: null,
          showPrimaryKey: true
        )
      }
    )

    now if you change value for Name column you will see local!data isActive proprty value will become true for all items. But on UI the check boxes are not updating.

    Hope you got my point

  • Hello Shahid! There will be a new feature soon to support record links. Is this what you had in mind or are you hoping for something more like Appian's safeLink SAIL component?

  • Hi Shahid!

    Do the queried values in columns B, C, and D depend on the queried value of A? For example, column A is a field containing an ID of a related record (like a foreign key) and B, C, and D are fields of that related record?

  •  

    Hi Ankit! Looks like you are missing the colWidth parameter in your checkboxcolconfig(). Sorry for any confusion, this new parameter is part of a new feature in version 2 that was released about a month ago. Let me know if that doesn't resolve the error please.

  • Hi  i am facing one issue, suppose we have 4 columns on grid A,B,C & D.

    my expectations: when i am updating values for column A, i want to change values for B,C & D too. But it is not happening on UI.

    Data source variable value is changing because i've written code to update values for B,C & D in rowsSaveInto.

  • The checkboxcolconfig is throwing error. Can you Please check this screen shot error message and let me know if I am doing any mistake.

  • Hi, can we create columns with hyperlink?

  • Any luck with using a map?