public QueryConditionList GetQueryConditions() { QueryConditionList queryConditions; ColumnFilterStorageList columnFilterStorageList = columnFilterList.ColumnFilterStorages; queryConditions = columnFilterStorageList != null ? columnFilterStorageList.QueryConditions : new QueryConditionList(); return(queryConditions); }
protected override void CreateChildControls() { base.CreateChildControls(); bool initStorage = false; // HiddenField hiddenField = new HiddenField(); Controls.Add(hiddenField); btnFullBriefView = new Image(); Controls.Add(btnFullBriefView); btnFullBriefView.Style["position"] = "absolute"; btnFullBriefView.Style["right"] = "25px"; btnFullBriefView.Style["top"] = "0px"; btnFullBriefView.ImageUrl = defaultFullView ? BriefViewImageUrl : FullViewImageUrl; btnFullBriefView.Style["display"] = showFullBriefViewButton ? "" : "none"; btnFullBriefView.Style["cursor"] = "hand"; UpdatePanel buttonUpdatePanel = new UpdatePanel(); buttonUpdatePanel.ID = "buttonUpdatePanelID"; buttonUpdatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional; Controls.AddAt(1, buttonUpdatePanel); btnSaveFiltersState = new ImageButton(); btnSaveFiltersState.ID = "btnSaveFiltersStateID"; buttonUpdatePanel.ContentTemplateContainer.Controls.Add(btnSaveFiltersState); btnSaveFiltersState.Style["position"] = "absolute"; btnSaveFiltersState.Style["right"] = "50px"; btnSaveFiltersState.Style["top"] = "0px"; btnSaveFiltersState.Style["display"] = ""; btnSaveFiltersState.ImageUrl = SaveFilterStateImageUrl; btnSaveFiltersState.Style["cursor"] = "hand"; btnSaveFiltersState.Click += BtnSaveFiltersState_OnClick; btnSaveFiltersState.ToolTip = LookupControlsResources.SSaveFiltersState; // Get DataTable view = (TableDataSourceView)GetData(); dataTable = view.Table; // Ensure ColumnFilterStorages if (ColumnFilterStorages == null) { initStorage = true; ColumnFilterStorageList columnFilterStorages = new ColumnFilterStorageList(); foreach (DataColumn dataColumn in dataTable.Columns) { Boolean showInFilter = (Boolean)(DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.SHOW_IN_FILTER) ?? false); var visibleCulture = (string)DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.SHOW_IN_FILTER_CULTURE); if (!string.IsNullOrEmpty(visibleCulture)) { showInFilter = showInFilter && visibleCulture.Equals(CultureInfo.CurrentUICulture.Name, StringComparison.CurrentCultureIgnoreCase); } if (showInFilter) { ColumnFilterStorage columnFilterStorage = new ColumnFilterStorage(); columnFilterStorage.Name = dataColumn.ColumnName; columnFilterStorage.Caption = (String)(DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.CAPTION) ?? dataColumn.Caption); columnFilterStorage.DataType = dataColumn.DataType; columnFilterStorage.DbType = (NullableHelper.CreateNullable <DbType>(DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.DB_TYPE))); columnFilterStorage.FilterType = ColumnFilterType.None; columnFilterStorage.IsRefBound = (Boolean)(DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.FILTER_COLUMN_IS_REF) ?? false); columnFilterStorage.HideInBriefView = (Boolean)(DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.FILTER_HIDE_IN_BRIEF_VIEW) ?? false); if (columnFilterStorage.IsRefBound) { DataTable filterRefTable = (DataTable)DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.FILTER_REF_TABLE); columnFilterStorage.TableName = filterRefTable.TableName; columnFilterStorage.RefTableRolledIn = (Boolean)(DataSetResourceManager.GetTableExtProperty(filterRefTable, TableExtProperties.ROLLED_IN) ?? false); columnFilterStorage.DisplayColumn = DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.FILTER_REF_DISPLAY_COLUMN) as String; columnFilterStorage.ValueColumn = DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.FILTER_REF_VALUE_COLUMN) as String; } columnFilterStorage.AvailableFilters = columnFilterStorage.GetDefaultFilterTypes(); columnFilterStorage.DateTimeFormat = (String)(DataSetResourceManager.GetColumnExtProperty(dataColumn, ColumnExtProperties.FILTER_DATE_TIME_FORMAT)); columnFilterStorages.Add(columnFilterStorage); } } SetColumnFilterStorages(columnFilterStorages); } if (view.SessionWorker == null) { throw new Exception("SessionWorker cannot be null"); } // Get data source from session in case when column refers to another table DataSet dataSet = view.SessionWorker.Object as DataSet; if (dataSet == null) { throw new Exception("SessionWorker.Object is not DataSet or null"); } foreach (ColumnFilterStorage storage in ColumnFilterStorages) { if (storage.IsRefBound) { storage.RefDataSource = dataSet.Tables[storage.TableName]; } } if (ViewState["FiltersStateLoaded"] == null) { ViewState["FiltersStateLoaded"] = true; LoadFiltersState(); } // Filter panel filterPanel = new Panel(); filterPanel.ID = "filterPanelID"; Controls.Add(filterPanel); filterPanel.Height = filterHeight; filterPanel.ScrollBars = ScrollBars.Auto; // ColumnFilters columnFilters = new List <ColumnFilter>(); var args = new ColumnFilterListCreatingEventArgs(); OnColumnFilterListCreating(args); if (initStorage) { ColumnFilterStorages.AddRange(args.ListStorages); } foreach (ColumnFilterStorage columnFilterStorage in ColumnFilterStorages) { if (args.ListStorages.Where(s => s.Name.Equals(columnFilterStorage.Name)).Count() > 0) { AddColumnFilter(columnFilterStorage); continue; } string[] rights = (string[])(DataSetResourceManager.GetColumnExtProperty( dataTable.Columns[columnFilterStorage.Name], ColumnExtProperties.FILTER_RIGHTS) ?? new string[] { }); Boolean userHasRights = true; foreach (string right in rights) { userHasRights = UserRoles.IsInRole(Convert.ToString(right)); if (!userHasRights) { break; } } if (userHasRights) { AddColumnFilter(columnFilterStorage); } } }
private void SetColumnFilterStorages(ColumnFilterStorageList value) { ViewState["ColumnFilterStorages"] = value; }