void ViewOnMasterRowGetLevelDefaultView(object sender, MasterRowGetLevelDefaultViewEventArgs e) { if (e.RelationIndex > -1) { var gridViewBuilder = new GridViewBuilder(Application, ObjectSpace, Frame); var currentObject = ((IMasterDetailColumnView)sender).GetRow(e.RowHandle); var masterDetailRuleInfos = FilterRules(currentObject, GetFrame(sender as IMasterDetailColumnView)); var levelDefaultView = gridViewBuilder.GetLevelDefaultView((IMasterDetailColumnView)sender, e.RowHandle, e.RelationIndex, View.Model, masterDetailRuleInfos); e.DefaultView = levelDefaultView; } }
void Grid_ViewRegistered(object sender, ViewOperationEventArgs e) { var gridViewBuilder = new GridViewBuilder(Application, ObjectSpace, Frame); var parentGridView = (IMasterDetailColumnView)e.View.ParentView; var detailXafGridView = parentGridView; var frame = detailXafGridView.Window ?? Frame; var masterDetailRuleInfos = FilterRules(e.View.SourceRow, frame); var sourceRowHandle = e.View.SourceRowHandle; var relationIndex = parentGridView.GetRelationIndex(sourceRowHandle, e.View.LevelName); var masterModelListView = ((ListView)frame.View).Model; gridViewBuilder.ModifyGridViewInstance(detailXafGridView, sourceRowHandle, relationIndex, masterModelListView, masterDetailRuleInfos); }