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 { }
}