This is a migrated thread and some comments may be shown as answers.

gridview drill down

1 Answer 161 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Donna
Top achievements
Rank 1
Donna asked on 04 Jul 2017, 01:40 PM

Hi,

I am trying to show on a grid a list of files where each file can expand to show the employees in that file (Each file contains multiple employees.  It's an one-many relationship).  My code looks like this so far but I only get a plus sign showing next to each file record on the grid but it won't expand to show the employees.  Please advise how I can correct this?  Thanks.

 

GridViewTemplate template = new GridViewTemplate();

template.Columns.Add(new GridViewTextBoxColumn("File_no"));

template.Columns.Add(new GridViewTextBoxColumn("File_Type"));

template.Columns.Add(new GridViewTextBoxColumn("Date_Received"));

template.Columns.Add(new GridViewTextBoxColumn("Date_Closed"));

template.Columns.Add(new GridViewTextBoxColumn("Title"));

template.Columns.Add(new GridViewTextBoxColumn("Status_Name"));

template.Columns.Add(new GridViewTextBoxColumn("Year"));

template.Columns.Add(new GridViewTextBoxColumn("Category_Name"));

template.Columns.Add(new GridViewTextBoxColumn("SubCategory_Name"));

template.Columns.Add(new GridViewTextBoxColumn("ERC_Name"));

template.Columns.Add(new GridViewTextBoxColumn("UnionName"));

template.Columns.Add(new GridViewTextBoxColumn("Union_Rep"));

template.Columns.Add(new GridViewTextBoxColumn("Business_Area_Name"));

template.Columns.Add(new GridViewTextBoxColumn("Resolution_Code"));

GridViewTemplate Childtemplate = new GridViewTemplate();

Childtemplate.Columns.Add(new GridViewTextBoxColumn("File_no"));

Childtemplate.Columns.Add(new GridViewTextBoxColumn("Employee_no"));

Childtemplate.Columns.Add(new GridViewTextBoxColumn("First_name"));

Childtemplate.Columns.Add(new GridViewTextBoxColumn("Last_name"));

Childtemplate.Columns.Add(new GridViewTextBoxColumn("Work_location"));

Childtemplate.Columns.Add(new GridViewTextBoxColumn("position"));

this.FileGrid.MasterTemplate.Templates.Add(template);

 

template.Templates.Add(Childtemplate);

GridViewRelation relation = new GridViewRelation(template);

relation.ChildTemplate = Childtemplate;

relation.RelationName = "FileEmployees";

relation.ParentColumnNames.Add("File_no");

relation.ChildColumnNames.Add("File_no");

 

FileGrid.Relations.Add(relation);

FileBusiness _fb = new FileBusiness();

_filelist = _fb.FindFile(null, null, null, null, null, null, null, null, null, null, null);  //this returns a list of files

var _orderedList = _filelist.OrderByDescending(x => x.File_no).ToList();

FileEmployeeView _ev = new FileEmployeeView();

this.FileGrid.DataSource = _orderedList;

 

template.DataSource = _orderedList;

Childtemplate.DataSource = _fb.GetAllFileEmployees(); //this returns all employees record and cooresponding file_id

this.FileGrid.Columns["ProcessStatus"].IsVisible = false;

this.FileGrid.Columns["ProcessStatusMessage"].IsVisible = false;

this.FileGrid.Columns["UpdatedBy"].IsVisible = false;

this.FileGrid.Columns["LastUpdated"].IsVisible = false;

this.FileGrid.Columns["CreatedOn"].IsVisible = false;

this.FileGrid.Columns["CreatedBy"].IsVisible = false;

this.FileGrid.Columns["isactive"].IsVisible = false;

this.FileGrid.Columns["Isdeleted"].IsVisible = false;

this.FileGrid.Columns["Code"].IsVisible = false;

this.FileGrid.Columns["ID"].IsVisible = false;

this.FileGrid.Columns["File_no"].HeaderText = "File #";

this.FileGrid.Columns["File_Type"].HeaderText = "File Type";

this.FileGrid.Columns["Date_Received"].HeaderText = "Date Received";

this.FileGrid.Columns["Date_Closed"].HeaderText = "Date Closed";

this.FileGrid.Columns["Title"].HeaderText = "Title";

this.FileGrid.Columns["Status_Name"].HeaderText = "Status Name";

this.FileGrid.Columns["Year"].HeaderText = "Year";

this.FileGrid.Columns["Category_Name"].HeaderText = "Category Name";

this.FileGrid.Columns["SubCategory_Name"].HeaderText = "Sub-Category Name";

this.FileGrid.Columns["ERC_Name"].HeaderText = "ERC";

this.FileGrid.Columns["UnionName"].HeaderText = "Union Name";

this.FileGrid.Columns["Union_Rep"].HeaderText = "Union Rep";

this.FileGrid.Columns["Business_Area_Name"].HeaderText = "Business Area Name";

this.FileGrid.Columns["Resolution_Code"].HeaderText = "Resolution Code";

 

1 Answer, 1 is accepted

Sort by
0
Hristo
Telerik team
answered on 05 Jul 2017, 08:24 AM
Hello Donna,

Thank you for writing.

Failing to expand the inner templates if often caused by the relation not set up properly. I could not find issues with your code snippet, however, please note that I am not able to test as it is working locally with your data. Please make sure that you are setting the proper parent and child column names.

I am sending you a sample project which you can test on your end. Additional information about building a hierarchy programmatically is available here: http://docs.telerik.com/devtools/winforms/gridview/hierarchical-grid/binding-to-hierarchical-data-programmatically. In case you keep experiencing the issue please send me your project along with some sample data so that I can test it locally.

I hope this helps. Please let me know if you have other questions.

Regards,
Hristo
Progress Telerik
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Tags
GridView
Asked by
Donna
Top achievements
Rank 1
Answers by
Hristo
Telerik team
Share this question
or