Hi
I'm trying to get a custom hierarchy going in the new Q3 Gridview. The examples don't explain how to do this properly (the example under Custom Hierarchy is actually a Property Hierarchy).
Here's how I did it in the previous version:
A warning pops up telling me that this method is obsolete, and doing it this way no longer works.
I'm trying to get a custom hierarchy going in the new Q3 Gridview. The examples don't explain how to do this properly (the example under Custom Hierarchy is actually a Property Hierarchy).
Here's how I did it in the previous version:
public FailedMessagesView() |
{ |
InitializeComponent(); |
FailedFaxGrid.TableDefinition.PreviewDataRecordCreate += FailedFaxTableDefinition_PreviewDataRowCreate; |
} |
private void FailedFaxTableDefinition_PreviewDataRowCreate(object sender, DataRecordCreateEventArgs e) |
{ |
FailedMessagesViewModel fmVM = (FailedMessagesViewModel)DataContext; |
SuppliersEntity theSupplier = (SuppliersEntity)e.Data; |
ObservableCollection<MessagesCheckedEntity> theMessages = new ObservableCollection<MessagesCheckedEntity>( |
fmVM.FailedFaxes.Where(m => m.fkidSupplier == theSupplier.idSupplier).ToList()); |
if (theMessages.Count > 0) |
{ |
e.IsExpandableRecord = true; |
GridViewTableDefinition ffDefs = new GridViewTableDefinition(); |
ffDefs.AutoGenerateFieldDescriptors = false; |
ffDefs.DataSource = theMessages; |
GridViewDataColumn checkBox = new GridViewDataColumn(); |
checkBox.Name = "FailedFaxCheckValName"; |
checkBox.Header = " "; |
checkBox.IsFilterable = false; |
checkBox.IsGroupable = false; |
checkBox.IsReadOnly = true; |
checkBox.CellStyle = (Style)FailedFaxGrid.FindResource("checkValueStyle"); |
checkBox.Width = GridViewLength.Auto; |
ffDefs.FieldDescriptors.Add(checkBox); |
GridViewDataColumn JobNo = new GridViewDataColumn(); |
JobNo.Name = "FailedFaxJobNoName"; |
JobNo.Header = "Job"; |
JobNo.IsFilterable = false; |
JobNo.IsGroupable = false; |
JobNo.IsReadOnly = true; |
JobNo.DataMemberBinding = new Binding("DataRow[sgCommonName]"); |
JobNo.Width = GridViewLength.Auto; |
ffDefs.FieldDescriptors.Add(JobNo); |
GridViewDataColumn task = new GridViewDataColumn(); |
task.Name = "FailedFaxTaskName"; |
task.Header = "Task"; |
task.IsFilterable = false; |
task.IsGroupable = false; |
task.IsReadOnly = true; |
task.DataMemberBinding = new Binding("DataRow[sgItemName]"); |
task.Width = GridViewLength.Auto; |
ffDefs.FieldDescriptors.Add(task); |
GridViewDataColumn TaskNotes = new GridViewDataColumn(); |
TaskNotes.Name = "TaskNotes"; |
TaskNotes.Header = "Task Notes"; |
TaskNotes.IsFilterable = false; |
TaskNotes.IsGroupable = false; |
TaskNotes.IsReadOnly = true; |
TaskNotes.DataMemberBinding = new Binding("DataRow[mNotes]"); |
TaskNotes.Width = new GridViewLength(1, GridViewLengthUnitType.Star); |
TaskNotes.TextWrapping = TextWrapping.Wrap; |
ffDefs.FieldDescriptors.Add(TaskNotes); |
GridViewDataColumn ReceiptDetails = new GridViewDataColumn(); |
ReceiptDetails.Name = "ReceiptDetails"; |
ReceiptDetails.Header = "Failure Reason"; |
ReceiptDetails.IsFilterable = false; |
ReceiptDetails.IsGroupable = false; |
ReceiptDetails.IsReadOnly = true; |
ReceiptDetails.DataMemberBinding = new Binding("sgReciptDetails"); |
ReceiptDetails.Width = new GridViewLength(1, GridViewLengthUnitType.Star); |
ReceiptDetails.TextWrapping = TextWrapping.Wrap; |
ffDefs.FieldDescriptors.Add(ReceiptDetails); |
e.ChildTableDefinitions.Add(ffDefs); |
} |
} |
A warning pops up telling me that this method is obsolete, and doing it this way no longer works.