Hi,
I'm using the winforms Telerik GridView in c#
I'm trying to populate a Parent Child Relationship ( Self Referencing Columns from same Table). I have created the Master and Child Templates. Code Below.
On executing this code, the master files are displayed with a '+' symbol. However they dont seem to be expandable. But when the bound columns are removed from the child template, the hierarchy works fine (Child data are displayed)
Also when for the child template, Columns are NOT customised and AUTOGENERATECOLUMNS is set to true, the hierarchy works fine and child data is displayed.
Can you please suggest how to achieve a hierarchy with customised bound columns in the Child template like in the case below ? I need this at the earliest as i'm running on a deadline
I'm using the winforms Telerik GridView in c#
I'm trying to populate a Parent Child Relationship ( Self Referencing Columns from same Table). I have created the Master and Child Templates. Code Below.
On executing this code, the master files are displayed with a '+' symbol. However they dont seem to be expandable. But when the bound columns are removed from the child template, the hierarchy works fine (Child data are displayed)
Also when for the child template, Columns are NOT customised and AUTOGENERATECOLUMNS is set to true, the hierarchy works fine and child data is displayed.
Can you please suggest how to achieve a hierarchy with customised bound columns in the Child template like in the case below ? I need this at the earliest as i'm running on a deadline
// Datasource for Parent Rows DataTable dtDashboardView_MasterFiles = CDashboardManager.Get_DashboardView_MasterFiles(); // Datasource for Child Rows DataTable dtDashboardView_SubFiles = CDashboardManager.Get_DashboardView_SubFiles(); // Parent Template Creation radDashboard.AutoGenerateHierarchy = true ; radDashboard.MasterGridViewTemplate.AutoExpandGroups = true; radDashboard.MasterGridViewTemplate.AutoGenerateColumns = false; radDashboard.EnableAlternatingRowColor = true; ((GridTableElement)radDashboard.GridElement).AlternatingRowColor = Color.LightGray; radDashboard.MasterGridViewInfo.TableHeaderRow.AllowResize = true; radDashboard.MasterGridViewTemplate.AllowAddNewRow = false; radDashboard.MasterGridViewTemplate.AllowDeleteRow = false; radDashboard.MasterGridViewTemplate.AllowEditRow = true; PopulateMasterGridColumns(); radDashboard.MasterGridViewTemplate.DataSource = dtDashboardView_MasterFiles; // Child Template Creation GridViewTemplate template = new GridViewTemplate(); template.Caption = "SubFiles"; template.AutoGenerateColumns = false; template.AllowColumnResize = true; template.AllowRowResize = false; template.AllowAddNewRow = false; template.AllowDeleteRow = false; template.AllowEditRow = true; template.ShowColumnHeaders = true; GridViewCheckBoxColumn dtCheckBox = new GridViewCheckBoxColumn(); dtCheckBox.UniqueName = "c_chkBxSelect"; dtCheckBox.HeaderText = ""; dtCheckBox.Width = 40; template.Columns.Add(dtCheckBox); GridViewTextBoxColumn cMasterID = new GridViewTextBoxColumn(); cMasterID.UniqueName = "c_MASTERID"; cMasterID.HeaderText = "Master ID"; cMasterID.FieldName = "MASTERID"; cMasterID.ReadOnly = true; cMasterID.Width = 60; template.Columns.Add(cMasterID); GridViewTextBoxColumn cHealthStatus = new GridViewTextBoxColumn(); cHealthStatus.UniqueName = "c_HEALTHSTATUS"; cHealthStatus.HeaderText = "Health Status"; cHealthStatus.FieldName = "HEALTHSTATUS"; cHealthStatus.ReadOnly = true; cHealthStatus.Width = 60; template.Columns.Add(cHealthStatus); radDashboard.MasterGridViewTemplate.ChildGridViewTemplates.Add(template); // Establishing Relationship GridViewRelation relation = new GridViewRelation(radDashboard.MasterGridViewTemplate); relation.ChildTemplate = template; relation.RelationName = "MasterSub"; relation.ParentColumnNames.Add("MASTERID"); relation.ChildColumnNames.Add("c_MASTERID"); radDashboard.Relations.Add(relation); private void PopulateMasterGridColumns() { try { radDashboard.Columns.Clear(); GridViewCheckBoxColumn dtCheckBox = new GridViewCheckBoxColumn(); dtCheckBox.UniqueName = "chkBxSelect"; dtCheckBox.HeaderText = ""; radDashboard.MasterGridViewTemplate.Columns.Add(dtCheckBox); dtCheckBox.Width = 40; GridViewTextBoxColumn cMasterID = new GridViewTextBoxColumn(); cMasterID.UniqueName = "MASTERID"; cMasterID.HeaderText = "Master ID"; cMasterID.FieldName = "MASTERID"; cMasterID.ReadOnly = true; radDashboard.MasterGridViewTemplate.Columns.Add(cMasterID); cMasterID.Width = 60; GridViewTextBoxColumn cHealthStatus = new GridViewTextBoxColumn(); cHealthStatus.UniqueName = "HEALTHSTATUS"; cHealthStatus.HeaderText = "Health Status"; cHealthStatus.FieldName = "HEALTHSTATUS"; cHealthStatus.ReadOnly = true; radDashboard.MasterGridViewTemplate.Columns.Add(cHealthStatus); cHealthStatus.Width = 60; GridViewTextBoxColumn cBranch = new GridViewTextBoxColumn(); cBranch.UniqueName = "BRANCH"; cBranch.FieldName = "BRANCH"; cBranch.ReadOnly = true; cBranch.HeaderText = "Branch"; radDashboard.MasterGridViewTemplate.Columns.Add(cBranch); cBranch.Width = 70; GridViewTextBoxColumn cDepartment = new GridViewTextBoxColumn(); cDepartment.UniqueName = "DEPARTMENT"; cDepartment.FieldName = "DEPARTMENT"; cDepartment.ReadOnly = true; cDepartment.HeaderText = "Dept"; radDashboard.MasterGridViewTemplate.Columns.Add(cDepartment); cDepartment.Width = 40; GridViewTextBoxColumn cEditLink = new GridViewTextBoxColumn(); cEditLink.UniqueName = "JOBFILENUMBER"; cEditLink.FieldName = "JOBFILENUMBER"; cEditLink.HeaderText = "Job File"; radDashboard.MasterGridViewTemplate.Columns.Add(cEditLink); cEditLink.ReadOnly = true; cEditLink.Width = 70; GridViewTextBoxColumn cCustomerName = new GridViewTextBoxColumn(); cCustomerName.FieldName = "CUSTOMER_NAME"; cCustomerName.UniqueName = "CUSTOMERNAME"; cCustomerName.HeaderText = "Customer Name"; cCustomerName.ReadOnly = true; radDashboard.MasterGridViewTemplate.Columns.Add(cCustomerName); cCustomerName.Width = 180; } catch (Exception pobjExc) { MessageBox.Show(pobjExc.Message.ToString()); throw pobjExc; } finally { } }