private static XtraBinding CreateXtraBindingSource(Baio.XtraObjectProperties.XtraObjectProperties XtraObjectProperties, IXtraBindingControllerProvider ControllerProvider, XtraBindingChildProperties ChildProperties, Baio.XOP.AppContext.AppItemContext AppItemContext) { object dataSource = ControllerProvider.GetDataSource(XtraObjectProperties); Baio.Data.IDataAdapter dataAdapter = ControllerProvider.GetDataAdapter(XtraObjectProperties); Baio.XtraBinding.XtraBindingOperationForm oper = new Baio.XtraBinding.XtraBindingOperationForm(dataSource, dataAdapter, ControllerProvider.GetObjectCalculator(XtraObjectProperties)); XtraBinding xtraBinding = null; if (XtraObjectProperties.ShownChildrenRelations.Count() > 0) { xtraBinding = new Baio.XtraBinding.XtraBindingContainer(dataSource, oper); foreach (Baio.XtraObjectProperties.XtraObjectRelation rel in XtraObjectProperties.ShownChildrenRelations) { Baio.XtraBinding.XtraBinding childBinding = CreateXtraBindingSource(rel.ChildObject, ControllerProvider, new XtraBindingChildProperties( xtraBinding, rel.ParentObject.ObjectName, rel.ParentField.FieldName, rel.ChildObject.ObjectName, rel.ChildField.FieldName, rel.ChildObject.ItemType), AppItemContext.GetChild(rel.ChildObject.ObjectName)); ((XtraBindingContainer)xtraBinding).Children.Add((XtraBindingChild)childBinding); } } else if (ChildProperties != null) { xtraBinding = new Baio.XtraBinding.XtraBindingChild(dataSource, oper, ChildProperties); } else { xtraBinding = new XtraBinding(dataSource, oper); } XtraBindingItemController itemController = new XtraBindingItemController(xtraBinding, AppItemContext); ((XtraBindingOperationForm)xtraBinding.xtraBindingOperation).Form = ControllerProvider.CreateReportForm(itemController, AppItemContext); return xtraBinding; }
public static XtraBindingListController CreateListController(Baio.XtraObjectProperties.XtraObjectProperties XtraObjectProperties, IXtraBindingControllerProvider ControllerProvider) { Baio.XOP.AppContext.AppItemContext appItemContext = XtraObjectProperties.Container.AppContext.GetAppItemContext(XtraObjectProperties.ObjectName, new Baio.XOP.AppContext.DefaultContext()); return new XtraBindingListController(CreateXtraBindingSource(XtraObjectProperties, ControllerProvider, null, appItemContext), appItemContext); }