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

[Solved] GridViewTableDefinition set Height.

1 Answer 113 Views
GridView
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Andrew Newton
Top achievements
Rank 1
Andrew Newton asked on 27 Aug 2009, 11:32 PM

Hi.I have created dynamically hierarchial grid.I want to set GridViewTableDefinition's height. Is it possible?

Here my code.

 RadGridView rgd = GeneratedGrid();  
rgd.TableDefinition.PreviewDataRecordCreate += this.MasterTableDefinition_PreviewDataRowCreate;
rgd.ItemsSource = e.Result;  
grdMainGrid.Children.Add(rgd);
RadGridView1 = rgd;
RadGridView1.Loaded += new RoutedEventHandler(RadGridView1_Loaded);
ExpandRows();

#region Data Bind

RadGridView GeneratedGrid()
{
RadGridView rgd = new RadGridView();
rgd.Name = "RadGridView1";
rgd.HorizontalAlignment = HorizontalAlignment.Center;
rgd.VerticalAlignment = VerticalAlignment.Top;
rgd.IsReadOnly = true;
rgd.RowIndicatorVisibility = Visibility.Collapsed;
rgd.AutoGenerateColumns = false;
rgd.ColumnsWidthMode = ColumnsWidthMode.Fill;
rgd.CanUserFreezeColumns = false;
rgd.Width = LayoutRoot.Width - 10;
rgd.Height = LayoutRoot.Height - 30;
rgd.MaxHeight = LayoutRoot.Height;  

GridViewDataColumn column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("OwnerID");
column.Header = "Owner Ref";
column.IsFilterable = false;
rgd.Columns.Add(column);

column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("OwnerName");
column.Header = "Owner Name";
column.IsFilterable = false;
rgd.Columns.Add(column);

column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("OwnerPhone");
column.Header = "Phone";
column.IsFilterable = false;
rgd.Columns.Add(column);

column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("OwnerEmail");
column.Header = "Email";
column.IsFilterable = false;
rgd.Columns.Add(column);

ButtonDataColumn columnbtn = new ButtonDataColumn() { Content = "Add Rental",ButtonClick = new RoutedEventHandler(AddRentalButton_Click),ButtonWidth= 105};
columnbtn.DataMemberBinding = new Binding("LongTermRentalID");
columnbtn.Width = new GridLength(100);
columnbtn.Header = "";
columnbtn.IsFilterable = false;
rgd.Columns.Add(columnbtn);

return rgd;
}
#endregion

 private void MasterTableDefinition_PreviewDataRowCreate(object sender, DataRecordCreateEventArgs e)
{
try
{
if (((HolidayRentalsHome.AdminServices.OwnerLontermRentalsList)(e.Data)).HolidayRentalsListData.Count() > 0)
{
e.IsExpandableRecord = true;

GridViewTableDefinition detailDefinition = new GridViewTableDefinition();
detailDefinition.AutoGenerateFieldDescriptors = false;  

GridViewDataColumn column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("CountryName");
column.Header = "Country";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);

column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("Town");
column.Header = "Town";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);


column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("MonthlyRental");
column.Header = "Monthly Rental";
column.DataFormatString = "{0:C2}";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);

column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("PropertyDesc");
column.Header = "Property";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);


column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("AreaName");
column.Header = "Location";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);

ButtonDataColumn columnbtn = new ButtonDataColumn() { Content = "Edit",ButtonClick = new RoutedEventHandler(EditRentalButton_Click),ButtonWidth= 60};
columnbtn.DataMemberBinding = new Binding("LongTermRentalID");
columnbtn.IsFilterable = false;
columnbtn.Header = "";
columnbtn.Width = new GridLength(65);
detailDefinition.FieldDescriptors.Add(columnbtn);

columnbtn = new ButtonDataColumn() { Content = "Delete",ButtonClick = new RoutedEventHandler(DeleteRentalButton_Click),ButtonWidth= 70};
columnbtn.DataMemberBinding = new Binding("LongTermRentalID");
columnbtn.IsFilterable = false;
columnbtn.Header = "";
columnbtn.Width = new GridLength(75);
detailDefinition.FieldDescriptors.Add(columnbtn);

columnbtn = new ButtonDataColumn() { Content = "Add Booking",ButtonClick = new RoutedEventHandler(AddBookingButton_Click),ButtonWidth= 120};
columnbtn.DataMemberBinding = new Binding("LongTermRentalID");
columnbtn.IsFilterable = false;
columnbtn.Header = "";
columnbtn.Width = new GridLength(125);
detailDefinition.FieldDescriptors.Add(columnbtn);

detailDefinition.DataSource = ((HolidayRentalsHome.AdminServices.OwnerLontermRentalsList)(e.Data)).HolidayRentalsListData;
detailDefinition.PreviewDataRecordCreate += new EventHandler<DataRecordCreateEventArgs>(detailDefinition_PreviewDataRecordCreate);
e.ChildTableDefinitions.Add(detailDefinition);
}
}
catch { }
}

1 Answer, 1 is accepted

Sort by
0
Rossen Hristov
Telerik team
answered on 28 Aug 2009, 03:21 PM
Hi Andrew Newton,

In order to modify the height of the child grid, you will need to define an explicit HierarchyChildTemplate for the master grid and configure the the height. To see how to define a HierarchyChildTemplateplease take a look at this example.

Please, let me know if you are not trying to increase the height of the child grid as a I understand from your ticket.

All the best,
Ross
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
GridView
Asked by
Andrew Newton
Top achievements
Rank 1
Answers by
Rossen Hristov
Telerik team
Share this question
or