protected void CreateColumns(PXDataSourceViewSchema schema, PXGrid grid) { List<string> list = new List<string>(); foreach (PXGridColumn col in grid.Levels[0].Columns) { if (!String.IsNullOrEmpty(col.DataField)) { list.Add(col.DataField); } } foreach (PXFieldState field in schema.GetFields()) { if (!AUAuditInquire.FORBIDDEN_COLUMNS.Contains(field.Name) && field.Name.EndsWith(AUAuditInquire.VIRTUAL_FIELD_SUFFIX) && !list.Contains(field.Name)) { PXGridColumn col = new PXGridColumn(); col.DataField = field.Name; col.DataType = Type.GetTypeCode(field.DataType); col.TextAlign = HorizontalAlign.Right; col.Width = Unit.Pixel(120); switch (col.DataType) { case TypeCode.Boolean: col.Width = Unit.Pixel(60); col.Type = GridColumnType.CheckBox; col.TextAlign = HorizontalAlign.Center; break; case TypeCode.DateTime: col.TextAlign = HorizontalAlign.Left; col.DisplayFormat = "g"; break; case TypeCode.String: col.TextAlign = HorizontalAlign.Left; break; } col.Visible = true; col.Header.Text = field.DisplayName == field.Name ? field.DisplayName.Substring(0, field.DisplayName.Length - AUAuditInquire.VIRTUAL_FIELD_SUFFIX.Length) : field.DisplayName; col.AllowShowHide = AllowShowHide.Server; grid.Columns.Add(col); } list.Remove(field.Name); } foreach (string field in list) { PXGridColumn col = GetColumn(grid, field); if (col != null) grid.Levels[0].Columns.Remove(col); } grid.FastFilterFields = grid.Columns.Items.Select(col => col.DataField).ToArray(); //if (grid.Levels[0].Columns.Count <= 1) grid.AllowAutoHide = true; }
protected void CreateColumns(PXDataSourceViewSchema schema, PXGrid grid) { var gridColumn = sp1.FindControl("gridColumn") as PXGrid; List <string> list = new List <string>(); foreach (PXGridColumn col in grid.Levels[0].Columns) { if (!String.IsNullOrEmpty(col.DataField)) { list.Add(col.DataField); } } foreach (PXFieldState field in schema.GetFields()) { if (field.Name.Length <= 3 || field.Name.EndsWith("_StyleID")) { if (!list.Contains(field.Name)) { PXGridColumn col = new PXGridColumn(); col.DataField = field.Name; col.DataType = Type.GetTypeCode(field.DataType); col.Width = Unit.Pixel(150); col.Header.Text = field.DisplayName; col.AllowShowHide = AllowShowHide.Server; if (grid == gridColumn) { col.TextField = field.Name + "_Text"; } else if (field.Name.Length <= 3) { col.EditorID = "edColHeader"; } grid.Columns.Add(col); } } list.Remove(field.Name); } foreach (string field in list) { foreach (PXGridColumn col in grid.Levels[0].Columns) { if (col.DataField == field) { grid.Levels[0].Columns.Remove(col); break; } } } }
protected void Page_Init(object sender, EventArgs e) { RMReportMaint graph = (RMReportMaint)ds.DataGraph; PXDataSourceViewSchema schema = ds.GetSchema("Report"); RMReport currentReport = graph.Report.Current; RMRowSet currentRowSet = (RMRowSet)graph.Caches[typeof(RMRowSet)].Current; RMColumnSet currentColumnSet = (RMColumnSet)graph.Caches[typeof(RMColumnSet)].Current; RMUnitSet currentUnitSet = (RMUnitSet)graph.Caches[typeof(RMUnitSet)].Current; string currentTypeReport = currentReport != null ? currentReport.Type : null; RMDataSource currentDataSource = graph.DataSourceByID.Current; if (currentTypeReport == null) { graph.Report.Current = currentReport = new RMReport(); } if (currentRowSet == null) { graph.Caches[typeof(RMRowSet)].Current = new RMRowSet(); } graph.Caches[typeof(RMColumnSet)].Current = null; graph.Caches[typeof(RMUnitSet)].Current = null; Dictionary <string, List <PXFieldSchema> > controls = new Dictionary <string, List <PXFieldSchema> >(); string[] arrTypes = ((PXStringState)graph.Report.Cache.GetStateExt <RMReport.type>(null)).AllowedValues; foreach (string type in arrTypes) { graph.Report.Current.Type = type; ((RMRowSet)graph.Caches[typeof(RMRowSet)].Current).Type = type; graph.Report.Current = currentReport; graph.DataSourceByID.Current = null; List <PXFieldSchema> lControls = new List <PXFieldSchema>(); List <PXFieldSchema> list = RefreshFieldsList(schema, graph); foreach (PXFieldSchema f in list) { if (f.DataType == TypeCode.Object) { continue; } if (!ContainsControlDictionary(f, controls)) { lControls.Add(f); } } controls.Add(type, lControls); } if (currentTypeReport == null) { graph.Report.Cache.Clear(); } else { graph.Report.Current.Type = currentTypeReport; } graph.DataSourceByID.Current = currentDataSource; graph.Caches[typeof(RMRowSet)].Current = currentRowSet; graph.Caches[typeof(RMColumnSet)].Current = currentColumnSet; graph.Caches[typeof(RMUnitSet)].Current = currentUnitSet; _insertIndex = 0; foreach (Control control in this.form.TemplateContainer.Controls) { if (!string.IsNullOrEmpty(control.ID)) { if (!control.ID.Equals("edStartUnitCode", StringComparison.OrdinalIgnoreCase)) { _insertIndex++; } else { break; } } else { _insertIndex++; } } _insertIndex++; PXLayoutRule rule1 = new PXLayoutRule() { ID = "rule1", StartGroup = true, GroupCaption = "Default Data Source Settings" }; (rule1).ApplyStyleSheetSkin(this.Page); this.form.TemplateContainer.Controls.AddAt(_insertIndex, rule1); _insertIndex++; for (int c = arrTypes.Length - 1; c >= 0; c--) { string type = arrTypes[c]; List <PXFieldSchema> lDsControls = new List <PXFieldSchema>(); for (int i = 0; i < controls[type].Count; i++) { if (controls[type][i].DataField.StartsWith("DataSource", StringComparison.OrdinalIgnoreCase) && !controls[type][i].DataField.Equals("datasourceexpand", StringComparison.OrdinalIgnoreCase) && !controls[type][i].DataField.Equals("datasourceamounttype", StringComparison.OrdinalIgnoreCase) && !controls[type][i].DataField.Equals("datasourcestartPeriodOffset", StringComparison.OrdinalIgnoreCase) && !controls[type][i].DataField.Equals("datasourceEndPeriodOffset", StringComparison.OrdinalIgnoreCase) //ContainsControl("Request" + controls[type][i].DataField.Replace("DataSource", string.Empty), controls[type]) ) { lDsControls.Add(controls[type][i]); } } int cntFirstColumn = lDsControls.Count / 2; if ((lDsControls.Count % 2) > 0) { cntFirstColumn++; } for (int i = 0; i < cntFirstColumn; i++) { AddControl(lDsControls[i], controls[type]); if ((lDsControls.Count - 1) >= (i + cntFirstColumn)) { AddControl(lDsControls[i + cntFirstColumn], controls[type]); } } } PXDropDown edDataSourceAmountType = new PXDropDown() { ID = "edDataSourceAmountType", AllowNull = false, DataField = "DataSourceAmountType" }; form.TemplateContainer.Controls.AddAt(_insertIndex, edDataSourceAmountType); (edDataSourceAmountType).ApplyStyleSheetSkin(this.Page); _insertIndex++; PXCheckBox chkApplyRestrictionGroups = new PXCheckBox() { ID = "chkApplyRestrictionGroups", DataField = "ApplyRestrictionGroups" }; form.TemplateContainer.Controls.AddAt(_insertIndex, chkApplyRestrictionGroups); (chkApplyRestrictionGroups).ApplyStyleSheetSkin(this.Page); }
/// <summary> /// Refresh the list of data fields using specified view name. /// </summary> private List <PXFieldSchema> RefreshFieldsList(PXDataSourceViewSchema schema, RMReportMaint graph) { PX.Data.PXFieldState[] fields = schema.GetFields(); List <PXFieldSchema> list = new List <PXFieldSchema>(); if (fields != null) { foreach (PX.Data.PXFieldState f in fields) { if (String.IsNullOrEmpty(f.Name) || !f.Name.StartsWith("DataSource", StringComparison.OrdinalIgnoreCase) && !f.Name.StartsWith("Request", StringComparison.OrdinalIgnoreCase) && !f.Name.StartsWith("UsrRequest", StringComparison.OrdinalIgnoreCase)) { continue; } string dsField = f.Name; if (dsField.StartsWith("DataSource", StringComparison.OrdinalIgnoreCase)) { dsField = dsField.Substring(10); } else if (f.Name.StartsWith("Request", StringComparison.OrdinalIgnoreCase)) { dsField = dsField.Substring(7); } else { dsField = "Usr" + dsField.Substring(10); } PXFieldState dsState = graph.DataSourceByID.Cache.GetStateExt(null, dsField) as PXFieldState; if (dsState == null || !dsState.Visible) { continue; } TypeCode dataType = Type.GetTypeCode(f.DataType); if (dataType == TypeCode.Object) { continue; } PXFieldSchema item = new PXFieldSchema(true, f.Name, dataType); item.ControlType = PXSchemaGenerator.GetControlType(f); item.PrimaryKey = f.PrimaryKey; item.ReadOnly = f.IsReadOnly; item.AllowNull = f.Nullable; item.MaxLength = (f.Length > 0) ? f.Length : 0; item.Precision = (f.Precision > 0) ? f.Precision : 0; item.Caption = f.DisplayName; item.ViewName = f.ViewName; item.HintField = f.DescriptionName; item.FieldList = f.FieldList; item.HeaderList = f.HeaderList; item.DefaultValue = f.DefaultValue; list.Add(item); } } return(list); }
protected void CreateColumns(PXDataSourceViewSchema schema, PXGrid grid) { List <string> list = new List <string>(); foreach (PXGridColumn col in grid.Levels[0].Columns) { if (!String.IsNullOrEmpty(col.DataField)) { list.Add(col.DataField); } } foreach (PXFieldState field in schema.GetFields()) { if (!AUAuditInquire.FORBIDDEN_COLUMNS.Contains(field.Name) && field.Name.EndsWith(AUAuditInquire.VIRTUAL_FIELD_SUFFIX) && !list.Contains(field.Name)) { PXGridColumn col = new PXGridColumn(); col.DataField = field.Name; col.DataType = Type.GetTypeCode(field.DataType); col.TextAlign = HorizontalAlign.Right; col.Width = Unit.Pixel(120); switch (col.DataType) { case TypeCode.Boolean: col.Width = Unit.Pixel(60); col.Type = GridColumnType.CheckBox; col.TextAlign = HorizontalAlign.Center; break; case TypeCode.DateTime: col.TextAlign = HorizontalAlign.Left; col.DisplayFormat = "g"; break; case TypeCode.String: col.TextAlign = HorizontalAlign.Left; break; } col.Visible = true; col.Header.Text = field.DisplayName == field.Name ? field.DisplayName.Substring(0, field.DisplayName.Length - AUAuditInquire.VIRTUAL_FIELD_SUFFIX.Length) : field.DisplayName; col.AllowShowHide = AllowShowHide.Server; grid.Columns.Add(col); } list.Remove(field.Name); } foreach (string field in list) { PXGridColumn col = GetColumn(grid, field); if (col != null) { grid.Levels[0].Columns.Remove(col); } } grid.FastFilterFields = grid.Columns.Items.Select(col => col.DataField).ToArray(); //if (grid.Levels[0].Columns.Count <= 1) grid.AllowAutoHide = true; }
protected void CreateColumns(PXDataSourceViewSchema schema, PXGrid grid) { var gridColumn = sp1.FindControl("gridColumn") as PXGrid; List<string> list = new List<string>(); foreach (PXGridColumn col in grid.Levels[0].Columns) { if (!String.IsNullOrEmpty(col.DataField)) { list.Add(col.DataField); } } foreach (PXFieldState field in schema.GetFields()) { if (field.Name.Length <= 3 || field.Name.EndsWith("_StyleID")) { if (!list.Contains(field.Name)) { PXGridColumn col = new PXGridColumn(); col.DataField = field.Name; col.DataType = Type.GetTypeCode(field.DataType); col.Width = Unit.Pixel(150); col.Header.Text = field.DisplayName; col.AllowShowHide = AllowShowHide.Server; if (grid == gridColumn) { col.TextField = field.Name + "_Text"; } else if (field.Name.Length <= 3) { col.EditorID = "edColHeader"; } grid.Columns.Add(col); } } list.Remove(field.Name); } foreach (string field in list) { foreach (PXGridColumn col in grid.Levels[0].Columns) { if (col.DataField == field) { grid.Levels[0].Columns.Remove(col); break; } } } }
/// <summary> /// Refresh the list of data fields using specified view name. /// </summary> private List<PXFieldSchema> RefreshFieldsList(PXDataSourceViewSchema schema, RMReportMaint graph) { PX.Data.PXFieldState[] fields = schema.GetFields(); List<PXFieldSchema> list = new List<PXFieldSchema>(); if (fields != null) { foreach (PX.Data.PXFieldState f in fields) { if (String.IsNullOrEmpty(f.Name) || !f.Name.StartsWith("DataSource", StringComparison.OrdinalIgnoreCase) && !f.Name.StartsWith("Request", StringComparison.OrdinalIgnoreCase) && !f.Name.StartsWith("UsrRequest", StringComparison.OrdinalIgnoreCase)) continue; string dsField = f.Name; if (dsField.StartsWith("DataSource", StringComparison.OrdinalIgnoreCase)) dsField = dsField.Substring(10); else if (f.Name.StartsWith("Request", StringComparison.OrdinalIgnoreCase)) dsField = dsField.Substring(7); else dsField = "Usr" + dsField.Substring(10); PXFieldState dsState = graph.DataSourceByID.Cache.GetStateExt(null, dsField) as PXFieldState; if (dsState == null || !dsState.Visible) continue; TypeCode dataType = Type.GetTypeCode(f.DataType); if (dataType == TypeCode.Object) continue; PXFieldSchema item = new PXFieldSchema(true, f.Name, dataType); item.ControlType = PXSchemaGenerator.GetControlType(f); item.PrimaryKey = f.PrimaryKey; item.ReadOnly = f.IsReadOnly; item.AllowNull = f.Nullable; item.MaxLength = (f.Length > 0) ? f.Length : 0; item.Precision = (f.Precision > 0) ? f.Precision : 0; item.Caption = f.DisplayName; item.ViewName = f.ViewName; item.HintField = f.DescriptionName; item.FieldList = f.FieldList; item.HeaderList = f.HeaderList; item.DefaultValue = f.DefaultValue; list.Add(item); } } return list; }