Spread Windows Forms 6.0 Product Documentation
MergePolicy Enumeration
Example  See Also  Support Options
FarPoint.Win.Spread Assembly > FarPoint.Win.Spread.Model Namespace : MergePolicy Enumeration


Glossary Item Box

Specifies how the control handles automatic merging of cells based on the values in the cells.

Syntax

Visual Basic (Declaration) 
Public Enum MergePolicy 
   Inherits System.Enum
Visual Basic (Usage)Copy Code
Dim instance As MergePolicy
C# 
public enum MergePolicy : System.Enum 

Members

MemberDescription
AlwaysAlways automatically merges neighboring cells with identical values
NoneNever automatically merges cells
RestrictedAutomatically merges cells neighboring cells with identical values if the corresponding cells in another row or column are similarly merged

Remarks

To allow adjacent identical cells to be merged automatically, set the MergePolicy to Always or Restricted.

For more information on automatic merging of cells, refer to Allowing Cells to Merge Automatically.

If you are using a specific cell type, be careful of restrictions for that cell type. For example, in order for automatic merging to work with CheckBox cells, the Value needs to be set to true or false instead of 1 or 0.

Example

This example fills a bunch of cells and then illustrates merging of adjacent cells with the same content.
C#Copy Code
fpSpread1.ActiveSheet.RowCount = 12;
fpSpread1.ActiveSheet.ColumnCount = 5;
fpSpread1.ActiveSheet.Columns[1].Width = 150;
fpSpread1.ActiveSheet.SetClip(0, 0, 1, 5, "VS Live\tSan Francisco\tScott\tScott\t12:00");
fpSpread1.ActiveSheet.SetClip(1, 0, 1, 5, "VS Live\tSan Francisco\tScott\tChris\t12:00");
fpSpread1.ActiveSheet.SetClip(2, 0, 1, 5, "VS Live\tSan Francisco\tScott\tChris\t1:00");
fpSpread1.ActiveSheet.SetClip(3, 0, 1, 5, "MSCE\tSan Francisco\tScott\tScott\t12:00");
fpSpread1.ActiveSheet.SetClip(4, 0, 1, 5, "VS Live\tOrlando\tChris\tChris\t1:00");
fpSpread1.ActiveSheet.SetClip(5, 0, 1, 5, "VS Live\tOrlando\tScott\tChris\t2:00");
fpSpread1.ActiveSheet.SetClip(6, 0, 1, 5, "VS Live\tNew York\tGreg\tGreg\t2:00");
fpSpread1.ActiveSheet.SetClip(7, 0, 1, 5, "VS Live\tNew York\tGreg\tJim\t2:00");
fpSpread1.ActiveSheet.SetClip(8, 0, 1, 5, "VS Live\tNew York\tGreg\tJim\t3:00");
fpSpread1.ActiveSheet.SetClip(9, 0, 1, 5, "VS Live\tNew York\tScott\tJim\t4:00");
fpSpread1.ActiveSheet.SetClip(10, 0, 1, 5, "PRN\tRaleigh\tScott\tScott\t7:00");
fpSpread1.ActiveSheet.SetClip(11, 0, 1, 5, "PRN\tCary\tJenny\tRyan\t6:00");
DialogResult dlg; 
dlg = MessageBox.Show("Do you want to merge the data?", "GetColumnMerge", MessageBoxButtons.YesNo);
if (dlg == DialogResult.Yes)
{
fpSpread1.ActiveSheet.SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Always);
fpSpread1.ActiveSheet.SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Always);
fpSpread1.SetBounds(fpSpread1.Bounds.X, fpSpread1.Bounds.Y, fpSpread1.Bounds.Width + 1, fpSpread1.Bounds.Height);
label1.Text = fpSpread1.ActiveSheet.GetColumnMerge(-1).ToString();
}
Visual BasicCopy Code
With FpSpread1.ActiveSheet
.RowCount = 12
.ColumnCount = 5
.Columns(1).Width = 150
.SetClip(0, 0, 1, 5, "VS Live" & vbTab & "San Francisco" & vbTab & "Scott" & vbTab & "Scott" & vbTab & "12:00")
.SetClip(1, 0, 1, 5, "VS Live" & vbTab & "San Francisco" & vbTab & "Scott" & vbTab & "Chris" & vbTab & "12:00")
.SetClip(2, 0, 1, 5, "VS Live" & vbTab & "San Francisco" & vbTab & "Scott" & vbTab & "Chris" & vbTab & "1:00")
.SetClip(3, 0, 1, 5, "MSCE" & vbTab & "San Francisco" & vbTab & "Scott" & vbTab & "Scott" & vbTab & "12:00")
.SetClip(4, 0, 1, 5, "VS Live" & vbTab & "Orlando" & vbTab & "Chris" & vbTab & "Chris" & vbTab & "1:00")
.SetClip(5, 0, 1, 5, "VS Live" & vbTab & "Orlando" & vbTab & "Scott" & vbTab & "Chris" & vbTab & "2:00")
.SetClip(6, 0, 1, 5, "VS Live" & vbTab & "New York" & vbTab & "Greg" & vbTab & "Greg" & vbTab & "2:00")
.SetClip(7, 0, 1, 5, "VS Live" & vbTab & "New York" & vbTab & "Greg" & vbTab & "Jim" & vbTab & "2:00")
.SetClip(8, 0, 1, 5, "VS Live" & vbTab & "New York" & vbTab & "Greg" & vbTab & "Jim" & vbTab & "3:00")
.SetClip(9, 0, 1, 5, "VS Live" & vbTab & "New York" & vbTab & "Scott" & vbTab & "Jim" & vbTab & "4:00")
.SetClip(10, 0, 1, 5, "PRN" & vbTab & "Raleigh" & vbTab & "Scott" & vbTab & "Scott" & vbTab & "7:00")
.SetClip(11, 0, 1, 5, "PRN" & vbTab & "Cary" & vbTab & "Jenny" & vbTab & "Ryan" & vbTab & "6:00")
End With
Dim dlg As DialogResult
dlg = MessageBox.Show("Do you want to merge the data?", "GetColumnMerge", MessageBoxButtons.YesNo)
If dlg = DialogResult.Yes Then
FpSpread1.ActiveSheet.SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Always)
FpSpread1.ActiveSheet.SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Always)
FpSpread1.SetBounds(FpSpread1.Bounds.X, FpSpread1.Bounds.Y, FpSpread1.Bounds.Width + 1, FpSpread1.Bounds.Height)
Label1.Text = FpSpread1.ActiveSheet.GetColumnMerge(-1).ToString()
End If

Inheritance Hierarchy

System.Object
   System.ValueType
      System.Enum
         FarPoint.Win.Spread.Model.MergePolicy

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

© 2002-2012 ComponentOne, a division of GrapeCity. All Rights Reserved.