부모 모눈에 동작을 사용하는 동안 아래 코드 조각과 같이 ParentGrid의 RecordExpanded 이벤트를 사용하여 하위 모눈을 가져올 수 있습니다.
코드 조각은 :
protected override void OnAttached()
{
this.AssociatedObject.Model.Table.RecordExpanded += Parent_RecordExpanded;
base.OnAttached();
}
private void Parent_RecordExpanded(object sender, GridDataValueEventArgs<GridDataRecord> e)
{
var mainGridColumns = e.Value.Table.Model.TableProperties.VisibleColumns;
//Here header style is applied to first column in Parent grid.
mainGridColumns[0].HeaderStyle = new GridDataColumnStyle();
mainGridColumns[0].HeaderStyle.Background = Brushes.Red;
var childGridColumns = e.Value.ChildModels[0].Table.Model.TableProperties.VisibleColumns;
//Here, header style is applied to first column of nested grid.
childGridColumns[0].HeaderStyle = new GridDataColumnStyle();
childGridColumns[0].HeaderStyle.Background = Brushes.Brown;
e.Value.ChildModels[0].Table.CurrentCellValidating += Table_CurrentCellValidating;
}
void Table_CurrentCellValidating(object sender, GridDataCurrentCellValidatingEventArgs args)
{
foreach (var item in (sender as GridDataTable).Model.TableProperties.VisibleColumns)
{
if (item.MappingName == "OrderID")
{
// do action
}
}
}
당신은 위의 코드와 같은 ChildModels에서 하위 그리드를 얻을 수 있습니다. ChildModels에는 친 그리드에 중첩 된 모눈의 수를 포함합니다.
여기에서는 상위 모눈의 첫 번째 열과 중첩 된 모눈의 머리글 스타일을 변경했으며 중첩 된 모눈의 CurrentCellValidating 이벤트도 사용했습니다. 마찬가지로 중첩 된 표에서 모든 이벤트를 사용하고 세부 정보를 얻을 수 있습니다.
그래서 ... 왜 자식 그리드에 액세스 할 수 없습니까? 어떤 맥락에서? 그것은 관계를 통해 어떻게 관련되어 있는가? 어쩌면 그것은 나 일 뿐이지만, 네가 여기에 정확히 뭐라고 요구하는지 모르겠다. –