protected override BaseGridController CreateDataController() { if (requireDataControllerType == DataControllerType.AsyncServerMode) { gridController = new AsyncServerModeDataController(); } else { if (requireDataControllerType == DataControllerType.ServerMode) { gridController = new ServerModeDataController(); } else { if (DisableCurrencyManager) { gridController = new GridDataController(); } else { gridController = new XafCurrencyDataController(); } } } return(gridController); }
void _view_CustomRowFilter(object sender, DevExpress.XtraGrid.Views.Base.RowFilterEventArgs e) { GridView view = (sender as GridView); BaseGridController controller = view.DataController; PropertyDescriptorCollection pdc = null; IList source = (IList)view.DataSource; if (view.DataSource is ITypedList) { pdc = (view.DataSource as ITypedList).GetItemProperties(null); } else { pdc = TypeDescriptor.GetProperties(source.GetType().GetProperty("Item").PropertyType); } if (view.FindFilterText == string.Empty) { ExpressionEvaluator ev = new ExpressionEvaluator(pdc, controller.FilterCriteria); e.Visible = !IsEmptyDetail(e.ListSourceRow, controller) && ev.Fit(source[e.ListSourceRow]); e.Handled = true; } }
private bool IsEmptyDetail(int listSourceRow, BaseGridController controller) { IList detail = (IList)controller.GetDetailList(listSourceRow, 0); PropertyDescriptorCollection pdc = null; if (detail is ITypedList) { pdc = (detail as ITypedList).GetItemProperties(null); } else { pdc = TypeDescriptor.GetProperties(detail.GetType().GetProperty("Item").PropertyType); } ExpressionEvaluator detailEvaluator = new ExpressionEvaluator(pdc, _childView.DataController.FilterCriteria); foreach (object o in detail) { if (detailEvaluator.Fit(o)) { return(false); } } return(true); }
protected override BaseGridController CreateDataController() { if (requireDataControllerType == DataControllerType.AsyncServerMode) { _gridController = new AsyncServerModeDataController(); } else { if (requireDataControllerType == DataControllerType.ServerMode) { _gridController = new ServerModeDataController(); } else { if (DisableCurrencyManager) { _gridController = new GridDataController(); } else { _gridController = new XafCurrencyDataController(); } } } return _gridController; }
protected override BaseGridController CreateDataController() { _gridController = base.CreateDataController(); return(_gridController); }