4 Answers, 1 is accepted
0
Hello Kumaran,
Thank you for writing.
The row/column span/merge functionality in RadGridView is supported via ViewDefinitions. Please refer to the following article where you can find more information regarding this functionality and examples of how to achieve it: http://www.telerik.com/help/winforms/gridview-viewdefinitions-column-groups-view.html.
To set a view definition of a child template, simply use its ViewDefinition property:
I hope that you find this information useful. Should you have any other questions, do not hesitate to contact us.
Regards,
Stefan
Telerik
Thank you for writing.
The row/column span/merge functionality in RadGridView is supported via ViewDefinitions. Please refer to the following article where you can find more information regarding this functionality and examples of how to achieve it: http://www.telerik.com/help/winforms/gridview-viewdefinitions-column-groups-view.html.
To set a view definition of a child template, simply use its ViewDefinition property:
radGridView1.Templates[0].ViewDefinitionI hope that you find this information useful. Should you have any other questions, do not hesitate to contact us.
Regards,
Stefan
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
0
KUMARAN
Top achievements
Rank 1
answered on 03 Jan 2015, 05:54 AM
Error While Grouping Child Template Header.
Dim view As New ColumnGroupsViewDefinition()
view.ColumnGroups().Add(New GridViewColumnGroup())
view.ColumnGroups.Add(New GridViewColumnGroup("BRANCH DETAILS"))
view.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Branch"))
view.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Total"))
view.ColumnGroups(0).Groups(0).Rows.Add(New GridViewColumnGroupRow)
view.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Name"))
view.ColumnGroups(0).Groups(1).Rows.Add(New GridViewColumnGroupRow)
view.ColumnGroups(0).Groups(1).Rows(0).Columns.Add(Me.RadGrid.Columns("Quantity"))
view.ColumnGroups(0).Groups(1).Rows(0).Columns.Add(Me.RadGrid.Columns("Value"))
Me.RadGrid.MasterTemplate.ViewDefinition = view
//Above Code is Working
Dim view2 As New ColumnGroupsViewDefinition()
view2.ColumnGroups().Add(New GridViewColumnGroup())
view2.ColumnGroups.Add(New GridViewColumnGroup("Group Details"))
view2.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Group Total"))
view2.ColumnGroups(0).Rows.Add(New GridViewColumnGroupRow)
view2.ColumnGroups(0).Groups(0).Rows.Add(New GridViewColumnGroupRow)
view2.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Quantity"))
view2.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Value"))
//Showing Error here '' Argument was out of rangeException Handled
'' Index was out of range. Must be non-negative and less than the size of the collection.
'' Parameter name: index
RadGrid.MasterTemplate.Templates(0).ViewDefinition = view2
Dim view As New ColumnGroupsViewDefinition()
view.ColumnGroups().Add(New GridViewColumnGroup())
view.ColumnGroups.Add(New GridViewColumnGroup("BRANCH DETAILS"))
view.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Branch"))
view.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Total"))
view.ColumnGroups(0).Groups(0).Rows.Add(New GridViewColumnGroupRow)
view.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Name"))
view.ColumnGroups(0).Groups(1).Rows.Add(New GridViewColumnGroupRow)
view.ColumnGroups(0).Groups(1).Rows(0).Columns.Add(Me.RadGrid.Columns("Quantity"))
view.ColumnGroups(0).Groups(1).Rows(0).Columns.Add(Me.RadGrid.Columns("Value"))
Me.RadGrid.MasterTemplate.ViewDefinition = view
//Above Code is Working
Dim view2 As New ColumnGroupsViewDefinition()
view2.ColumnGroups().Add(New GridViewColumnGroup())
view2.ColumnGroups.Add(New GridViewColumnGroup("Group Details"))
view2.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Group Total"))
view2.ColumnGroups(0).Rows.Add(New GridViewColumnGroupRow)
view2.ColumnGroups(0).Groups(0).Rows.Add(New GridViewColumnGroupRow)
view2.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Quantity"))
view2.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Value"))
//Showing Error here '' Argument was out of rangeException Handled
'' Index was out of range. Must be non-negative and less than the size of the collection.
'' Parameter name: index
RadGrid.MasterTemplate.Templates(0).ViewDefinition = view2
0
KUMARAN
Top achievements
Rank 1
answered on 04 Jan 2015, 06:24 AM
Why I Didn't get answer yet.
0
Hello Kumaran,
Thank you for writing back.
The exception is most probably caused by the fact you are adding columns from the master level, to the child level's view definition
Here is an example of this working for both master and child levels:
As to the question why you "did not get and answer yet", please note that although we monitor our forums very closely, and we strive to address our customers inquiries in the forums as well, the response time for the forums is usually 72 hours on business days. So if it is an urgent problem, we suggest you use a support ticket, which would be handled before a forum thread (usually within 24 hours).
Thank you for your understanding and I hope that you find the above information useful.
Regards,
Stefan
Telerik
Thank you for writing back.
The exception is most probably caused by the fact you are adding columns from the master level, to the child level's view definition
view2.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Quantity"))view2.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Value"))Here is an example of this working for both master and child levels:
Dim RadGrid As RadGridViewProtected Overrides Sub OnLoad(e As EventArgs) MyBase.OnLoad(e) RadGrid = New RadGridView RadGrid.Parent = Me RadGrid.Dock = DockStyle.Fill 'first level RadGrid.Columns.Add("Name") RadGrid.Columns.Add("Quantity") RadGrid.Columns.Add("Value") RadGrid.Rows.Add("Name1", 11, 111) 'child level Dim template As New GridViewTemplate() template.Columns.Add("ChildName") template.Columns.Add("ChildQuantity") template.Columns.Add("ChildValue") RadGrid.Templates.Add(template) Dim relation As New GridViewRelation(RadGrid.MasterTemplate) relation.ChildTemplate = template relation.ParentColumnNames.Add("Name") relation.ChildColumnNames.Add("ChildName") RadGrid.Relations.Add(relation) template.Rows.Add("Name1", 22, 33) template.Rows.Add("Name1", 33, 55) template.Rows.Add("Name1", 66, 22) 'view defs Dim view As New ColumnGroupsViewDefinition() view.ColumnGroups().Add(New GridViewColumnGroup()) view.ColumnGroups.Add(New GridViewColumnGroup("BRANCH DETAILS")) view.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Branch")) view.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Total")) view.ColumnGroups(0).Groups(0).Rows.Add(New GridViewColumnGroupRow) view.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Columns("Name")) view.ColumnGroups(0).Groups(1).Rows.Add(New GridViewColumnGroupRow) view.ColumnGroups(0).Groups(1).Rows(0).Columns.Add(Me.RadGrid.Columns("Quantity")) view.ColumnGroups(0).Groups(1).Rows(0).Columns.Add(Me.RadGrid.Columns("Value")) Me.RadGrid.MasterTemplate.ViewDefinition = view 'Above Code is Working Dim view2 As New ColumnGroupsViewDefinition() view2.ColumnGroups().Add(New GridViewColumnGroup()) view2.ColumnGroups.Add(New GridViewColumnGroup("Group Details")) view2.ColumnGroups(0).Groups.Add(New GridViewColumnGroup("Group Total")) view2.ColumnGroups(0).Rows.Add(New GridViewColumnGroupRow) view2.ColumnGroups(0).Groups(0).Rows.Add(New GridViewColumnGroupRow) view2.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Templates(0).Columns("ChildQuantity")) view2.ColumnGroups(0).Groups(0).Rows(0).Columns.Add(Me.RadGrid.Templates(0).Columns("ChildValue")) RadGrid.MasterTemplate.Templates(0).ViewDefinition = view2End SubAs to the question why you "did not get and answer yet", please note that although we monitor our forums very closely, and we strive to address our customers inquiries in the forums as well, the response time for the forums is usually 72 hours on business days. So if it is an urgent problem, we suggest you use a support ticket, which would be handled before a forum thread (usually within 24 hours).
Thank you for your understanding and I hope that you find the above information useful.
Regards,
Stefan
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
