RealGrid2 Guide
Cell components
cell merging

Merge cells

You can group cells belonging to a column and display them.

Cell Merging

Set the formula to merge cells with the previous row in the mergeRule.criteria property. Check the column setting information.

var columns = [{
      ...
      name: "Gender",
      fieldName: "Gender",
      width: "40",
      header: {
        text: "Gender",
        styleName: "orange-column"
      },
      mergeRule:{
        criteria: "value"
      }
      ...
}]

Displaying rows grouped together

Check whether the merge is performed according to the conditions set in the mergeRule.criteria property.

gridView.setColumnProperty("Gender", "mergeRule", { criteria: "row div 3" });
gridView.setColumnProperty("Gender", "mergeRule", { criteria: "row div 5" });
gridView.setColumnProperty("Gender", "mergeRule", { criteria: "value" });

Merge references to preceding columns

When merging cells, you can merge them by referring to specific column values. Click each button in the demo below to see the differences.

function btnMergeRule() {
    gridView.columnByName("OrderID").mergeRule = {criteria: "value"};
    gridView.columnByName("Country").mergeRule = {criteria: "value"};
    gridView.columnByName("CustomerID").mergeRule = {criteria: "value"};
}
 
function btnPrevMergeRule() {
    gridView.columnByName("OrderID").mergeRule = {criteria: "value"};
    gridView.columnByName("Country").mergeRule = {criteria: "values['OrderID'] + value"};
    gridView.columnByName("CustomerID").mergeRule = {criteria: "values['OrderID'] + values['Country'] + value"};
}

When merging cells, you can also briefly specify references to all preceding columns using prevvalues.

function btnPrevMergeRule() {
    gridView.columnByName("OrderID").mergeRule = {criteria: "value"};
    gridView.columnByName("Country").mergeRule = {criteria: "prevvalues + value"};
    gridView.columnByName("CustomerID").mergeRule = {criteria: "prevvalues + value"};
}

Merge Object Type Field

When merging Object Type Fields, they are merged based on the values shown in the grid. Even when referring to a previous one, merging is applied based on the visible value rather than the object value.

var columns = [
    {
      name: "Person",
      fieldName: "Person",
      objectKey: "Name",
      width: "100",
      header: {
        text: "name"
      },
      mergeRule: "value"
    },
    {
      name: "Gender",
      fieldName: "Gender",
      width: "40",
      header: {
        text: "Gender"
      },
      mergeRule: "values['Person'] + value"
    },
    ...