AD
Administrator
Syncfusion Team
November 17, 2004 10:38 AM UTC
To use merge cells, you need to set one grid property, and then set a style property in the cells that you want to allow to merge.
this.gridControl1.Model.Options.MergeCellsMode = GridMergeCellsMode.OnDemandCalculation|GridMergeCellsMode.MergeRowsInColumn;
this.gridControl1.ColStyles[2].MergeCell = GridMergeCellDirection.RowsInColumn;
Here is a sample that has both a GridControl and a GridDataBoundGrid in it. The same merge techniques work for each control.
AP
Arun Prasath
November 18, 2004 01:00 AM UTC
Thanks Mr.Clay its working but it displays value when i am moving mouse over that column which i don''t want.
please rectify that too.
thanx in advance.
AD
Administrator
Syncfusion Team
November 18, 2004 11:29 AM UTC
Try handling the CurrentCellStartEditing event. In your handler, set e.Cancel = true if the currentcell is part of a merged range.
private void gridControl1_CurrentCellStartEditing(object sender, CancelEventArgs e)
{
GridCurrentCell cc = this.gridControl1.CurrentCell;
GridRangeInfo range;
if(this.gridControl1.Model.MergeCells.Find(GridMergeCellDirection.RowsInColumn, cc.RowIndex, cc.ColIndex, out range))
{
e.Cancel = true;
}
}
AP
Arun Prasath
November 29, 2004 02:59 AM UTC
Hi Clay,
But now the problem is while loading the grid for first time it works fine if it has duplicate records for entire life time (i.e) untill closing.
If no duplicate records found while loading grid for first time but after evaluating search criteria given by the user and if it returns dupicate records this time its not merging instead it displays all duplicate values.
I wanted mergeing Concept at all level.
Hope u understand my problem. It is very very important .
Thanx in advance.
PS: I am doing serach screen in VB.NET where user will enter some value to see records.
AD
Administrator
Syncfusion Team
November 29, 2004 06:25 AM UTC
Instead of setting the
gridControl1.Model.Options.MergeCellsMode = GridMergeCellsMode.OnDemandCalculation Or GridMergeCellsMode.MergeRowsInColumn
try setting
gridControl1.Model.Options.MergeCellsMode = GridMergeCellsMode.BeforeDisplayCalculation Or GridMergeCellsMode.MergeRowsInColumn
If thta does not work, if you post a sample showing the problem, we can try to debug the problem here.
AP
Arun Prasath
November 30, 2004 06:04 AM UTC
Hi Clay,
Its working fine now thanks yaar.Now i want to know how to set formulas in Grid.It should be also able to apply for all columns once if i set , something similar to Excel.
its also very urgent yaar.
Thanx in advance.
Arun
AD
Administrator
Syncfusion Team
November 30, 2004 08:36 AM UTC
If you are using our 3.0 code base, there is a simple way to do this. You use row 0 as a place holder for teh current row.
this.gridControl1.ColStyles[4].Text = "= A0 + C0"; //row = 0 means use current row
This code makes column D hold the sum of column A and column c.
You can see this at work in the Syncfusion\Essential Suite\3.0.0.19\Windows\Grid.Windows\Samples\Quick Start\GridControlSort sample.
In earlier versions you will have to loop through every cell setting teh formula somehow.
for(int i = 1; i <= grid.RowCount; ++i)
{
grid[i, 4].Text = string.Format("= A{0} + C{0}", i);
}
AP
Arun Prasath
November 30, 2004 09:04 AM UTC
Hi Clay,
I couldn''t see examples for formula in that path it has only sorting examples.
But still i tried using your formula it hasn''t worked fine pls i need proper solution to acheive formula.
PS : We are using grid version 1.6.
Arun
AD
Administrator
Syncfusion Team
November 30, 2004 10:22 AM UTC
The row 0 place holder code is not in 1.6, but only in 3.0. The sample I referenced only has formula code in 3.0. Not 1.6.
In 1.6, you will have to use the string.Format code to add a formula to every cell.
AP
Arun Prasath
December 1, 2004 04:11 AM UTC
Hi Clay
I am getting following Error while i try enter some values in E Column.
cast from string "=E1+F1" to type ''Double'' is not valid
I ma pointing it to G(7) column. how to handle the situation.
AD
Administrator
Syncfusion Team
December 1, 2004 06:13 AM UTC
The CellValueType for column E (col 5) cannot be typeof(double). Formula cells that hold formulas must have string as the style.CellValueType.
This is the default setting, so to have a double there, you probably have explicit code setting style.CellValueType = typeof(double). You should remove this code.