This question is locked. New answers and comments are not allowed.
Hi. I have no problems with viewing buttons or images in my ChildTableDefinitions. I have upadeted controls to newest version and there no buttons in the cells just text. What I have to do?
Here the code for Button.
public class ButtonDataColumn : GridViewDataColumn
{
public string Content { get; set; }
public RoutedEventHandler ButtonClick { get; set; }
public int ButtonWidth { get; set; }
public ButtonDataColumn(string content, RoutedEventHandler buttonClick, int buttonWidth)
{
Content = content;
ButtonClick = buttonClick;
ButtonWidth = buttonWidth;
}
public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem)
{
Button btn = new Button();
btn.Content = Content;
btn.Height = 30;
btn.Click += ButtonClick;
btn.Width = ButtonWidth;
return btn;
}
}
Here code for Grid
private void MasterTableDefinition_PreviewDataRowCreate(object sender, DataRecordCreateEventArgs e)
{
try
{
e.IsExpandableRecord = true;
GridViewTableDefinition detailDefinition = new GridViewTableDefinition();
detailDefinition.AutoGenerateFieldDescriptors = false;
column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("Description");
column.HeaderText = "Description";
column.IsFilterable = false;
column.Width = new GridLength(400);
detailDefinition.FieldDescriptors.Add(column);
column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("LanguageName");
column.HeaderText = "Language";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);
ButtonDataColumn columnbtn = new ButtonDataColumn("Edit", new RoutedEventHandler(EditDescrButton_Click), 50);
columnbtn.DataMemberBinding = new Binding("DescriptionID");
columnbtn.IsFilterable = false;
columnbtn.Width = new GridLength(55);
detailDefinition.FieldDescriptors.Add(columnbtn);
detailDefinition.DataSource = ((HolidayRentalsHome.AdminServices.HolidayRentalsReportList)(e.Data)).HolidayDescriptionsListData;
e.ChildTableDefinitions.Add(detailDefinition);
}
}
Thanks,
Sergey
Here the code for Button.
public class ButtonDataColumn : GridViewDataColumn
{
public string Content { get; set; }
public RoutedEventHandler ButtonClick { get; set; }
public int ButtonWidth { get; set; }
public ButtonDataColumn(string content, RoutedEventHandler buttonClick, int buttonWidth)
{
Content = content;
ButtonClick = buttonClick;
ButtonWidth = buttonWidth;
}
public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem)
{
Button btn = new Button();
btn.Content = Content;
btn.Height = 30;
btn.Click += ButtonClick;
btn.Width = ButtonWidth;
return btn;
}
}
Here code for Grid
private void MasterTableDefinition_PreviewDataRowCreate(object sender, DataRecordCreateEventArgs e)
{
try
{
e.IsExpandableRecord = true;
GridViewTableDefinition detailDefinition = new GridViewTableDefinition();
detailDefinition.AutoGenerateFieldDescriptors = false;
column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("Description");
column.HeaderText = "Description";
column.IsFilterable = false;
column.Width = new GridLength(400);
detailDefinition.FieldDescriptors.Add(column);
column = new GridViewDataColumn();
column.DataMemberBinding = new Binding("LanguageName");
column.HeaderText = "Language";
column.IsFilterable = false;
detailDefinition.FieldDescriptors.Add(column);
ButtonDataColumn columnbtn = new ButtonDataColumn("Edit", new RoutedEventHandler(EditDescrButton_Click), 50);
columnbtn.DataMemberBinding = new Binding("DescriptionID");
columnbtn.IsFilterable = false;
columnbtn.Width = new GridLength(55);
detailDefinition.FieldDescriptors.Add(columnbtn);
detailDefinition.DataSource = ((HolidayRentalsHome.AdminServices.HolidayRentalsReportList)(e.Data)).HolidayDescriptionsListData;
e.ChildTableDefinitions.Add(detailDefinition);
}
}
Thanks,
Sergey
