I am manually building a radgridview with a childgridview with custom objects but I am not clear on how to retrieve the child rows value on press of a button. I am adding a decimal column that I want to retrieve the user input.
Below is the code that populated the radgridview.
Thanks.
BindingList<LoadLine> loadLines = new BindingList<LoadLine>();
BindingList<PartLocation> partLocations = new BindingList<PartLocation>();
GridViewTemplate locationsTemplate = new GridViewTemplate(this.radGridViewLoadDetailLoadLines);
locationsTemplate.AutoGenerateColumns = false;
#region Manually Add Columns for Child Table
GridViewDataColumn columnPartId = new GridViewDataColumn();
columnPartId.UniqueName = "PartId";
columnPartId.FieldAlias = "PartId";
columnPartId.FieldName = "PartId";
locationsTemplate.Columns.Add(columnPartId);
GridViewDataColumn columnLocationId = new GridViewDataColumn();
columnLocationId.UniqueName = "LocationId";
columnLocationId.FieldAlias = "LocationId";
columnLocationId.FieldName = "LocationId";
locationsTemplate.Columns.Add(columnLocationId);
GridViewDataColumn columnAvailableQty = new GridViewDataColumn();
columnAvailableQty.UniqueName = "AvailableQty";
columnAvailableQty.FieldAlias = "AvailableQty";
columnAvailableQty.FieldName = "AvailableQty";
locationsTemplate.Columns.Add(columnAvailableQty);
GridViewDecimalColumn columnQtyToAllocate = new GridViewDecimalColumn();
columnQtyToAllocate.UniqueName = "QtyToAllocate";
columnQtyToAllocate.HeaderText = "Qty To Load";
locationsTemplate.Columns.Add(columnQtyToAllocate);
#endregion
locationsTemplate.DataSource = partLocations;
locationsTemplate.AllowAddNewRow = false;
locationsTemplate.AllowAutoSizeColumns = true;
locationsTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
this.radGridViewLoadDetailLoadLines.MasterGridViewTemplate.ChildGridViewTemplates.Add(locationsTemplate);
GridViewRelation relation = new GridViewRelation(this.radGridViewLoadDetailLoadLines.MasterGridViewTemplate);
relation.RelationName = "Load Line Part Locations";
relation.ParentColumnNames.Add("PartId");
relation.ChildColumnNames.Add("PartId");
relation.ChildTemplate = locationsTemplate;
this.radGridViewLoadDetailLoadLines.Relations.Add(relation);
this.radGridViewLoadDetailLoadLines.DataSource = loadLines;
Below is the code that populated the radgridview.
Thanks.
BindingList<LoadLine> loadLines = new BindingList<LoadLine>();
BindingList<PartLocation> partLocations = new BindingList<PartLocation>();
GridViewTemplate locationsTemplate = new GridViewTemplate(this.radGridViewLoadDetailLoadLines);
locationsTemplate.AutoGenerateColumns = false;
#region Manually Add Columns for Child Table
GridViewDataColumn columnPartId = new GridViewDataColumn();
columnPartId.UniqueName = "PartId";
columnPartId.FieldAlias = "PartId";
columnPartId.FieldName = "PartId";
locationsTemplate.Columns.Add(columnPartId);
GridViewDataColumn columnLocationId = new GridViewDataColumn();
columnLocationId.UniqueName = "LocationId";
columnLocationId.FieldAlias = "LocationId";
columnLocationId.FieldName = "LocationId";
locationsTemplate.Columns.Add(columnLocationId);
GridViewDataColumn columnAvailableQty = new GridViewDataColumn();
columnAvailableQty.UniqueName = "AvailableQty";
columnAvailableQty.FieldAlias = "AvailableQty";
columnAvailableQty.FieldName = "AvailableQty";
locationsTemplate.Columns.Add(columnAvailableQty);
GridViewDecimalColumn columnQtyToAllocate = new GridViewDecimalColumn();
columnQtyToAllocate.UniqueName = "QtyToAllocate";
columnQtyToAllocate.HeaderText = "Qty To Load";
locationsTemplate.Columns.Add(columnQtyToAllocate);
#endregion
locationsTemplate.DataSource = partLocations;
locationsTemplate.AllowAddNewRow = false;
locationsTemplate.AllowAutoSizeColumns = true;
locationsTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
this.radGridViewLoadDetailLoadLines.MasterGridViewTemplate.ChildGridViewTemplates.Add(locationsTemplate);
GridViewRelation relation = new GridViewRelation(this.radGridViewLoadDetailLoadLines.MasterGridViewTemplate);
relation.RelationName = "Load Line Part Locations";
relation.ParentColumnNames.Add("PartId");
relation.ChildColumnNames.Add("PartId");
relation.ChildTemplate = locationsTemplate;
this.radGridViewLoadDetailLoadLines.Relations.Add(relation);
this.radGridViewLoadDetailLoadLines.DataSource = loadLines;