public XlsGridReportDefBuilder(IDataContext dataContext, BizForm form, SqlQueryReader reader, Guid userId) { DataContext = dataContext; Form = form; UserId = userId; SqlDataSet = new SqlQueryDataSet(reader, userId); }
public XlsReportDefBuilder(IAppServiceProvider provider, ReportDef report, SqlQueryReader reader) { Report = report; SqlDataSet = new SqlQueryDataSet(provider, reader); Headers.Add(new XlsGridReportSectionText(Report.Caption)); }
public XlsGridDefBuilder(IAppServiceProvider provider, BizForm form, SqlQueryReader reader) { Provider = provider; Form = form; UserId = provider.GetCurrentUserId(); SqlDataSet = new SqlQueryDataSet(Provider, reader); }
public void AddDataField(SqlQueryDataSet dataSet, string name, ContentStyle style = null, string format = null) { if (dataSet != null) { //AddDataField(new SqlQueryDataSetField(dataSet, dataSet.Reader.Query.GetAttribute(name), null), style); AddDataField(dataSet.CreateField(name), style, format); } else { throw new ArgumentNullException("dataSet"); } }
private void AddColumn(CrossDataTable table, ReportDef report, SqlQueryReader reader, ReportAttributeColumnDef column, Dictionary <Guid, SqlQuerySource> sourceMap, SqlQueryDataSet dataSet, Dictionary <CrossDataColumn, SqlQueryDataSetField> columnMaps) { SqlQuerySource querySource; var reportSource = report.GetSourceDef(column.Attribute.SourceId); var reportSourceAttr = reportSource.Attributes != null ? reportSource.Attributes.FirstOrDefault(a => a.Id == column.Attribute.AttributeId) : null; var hasQuerySource = sourceMap.TryGetValue(column.Attribute.SourceId, out querySource); var attr = reportSourceAttr == null ? !hasQuerySource ? reader.Query.FindAttribute(column.Attribute.AttributeId) : reader.Query.FindAttribute(querySource, column.Attribute.AttributeId) : !hasQuerySource ? reader.Query.FindAttribute(reportSourceAttr.Ident) : reader.Query.FindAttribute(querySource, reportSourceAttr.Ident); if (attr != null) { var i = reader.Query.Attributes.IndexOf(attr); if (column.Grouping == ReportColumnGroupingType.None || column.Grouping == ReportColumnGroupingType.Group) { var crossColumn = new CrossDataKeyColumn(i, column.Caption); table.AddColumn(crossColumn); columnMaps.Add(crossColumn, new SqlQueryDataSetField(dataSet, attr, column.Grouping == ReportColumnGroupingType.None ? SqlQuerySummaryFunction.None : SqlQuerySummaryFunction.Group)); } else if (column.Grouping == ReportColumnGroupingType.CrossGroup) { var crossColumn = new CrossDataGroupColumn(i, column.Caption); table.AddColumn(crossColumn); columnMaps.Add(crossColumn, new SqlQueryDataSetField(dataSet, attr)); } else { var crossColumn = new CrossDataFuncColumn(i, column.Caption, column.ToSqlGrouping()); table.AddColumn(crossColumn); columnMaps.Add(crossColumn, new SqlQueryDataSetField(dataSet, attr, column.ToSqlGrouping())); } } }
public void Fill(SqlQueryDataSet dataSet, Dictionary <CrossDataColumn, SqlQueryDataSetField> columnFieldMaps) { while (!dataSet.Eof()) { var row = new CrossDataRow(); foreach (var column in Columns.OfType <CrossDataKeyColumn>()) { var field = columnFieldMaps[column]; var value = field.GetValue(); row.AddValue(column, value); } var existsRow = Find(row); if (existsRow != null) { row = existsRow; } else { Rows.Add(row); } var i = 0; CrossDataGroupColumnValue columnValue = null; foreach (var column in Columns.OfType <CrossDataGroupColumn>()) { var field = columnFieldMaps[column]; var value = field.GetValue(); var currColumnValue = i == 0 ? column.GetValue(value) : column.GetValue(columnValue, value); // row.AddValue(column, columnValue, value); columnValue = currColumnValue; i++; } foreach (var column in Columns.OfType <CrossDataFuncColumn>()) { var field = columnFieldMaps[column]; var value = field.GetValue(); row.AddValue(column, columnValue, value); } dataSet.Next(); } }
private CrossDataTable CreateCrossDataTable(ReportDef report, SqlQueryReader reader) { var table = new CrossDataTable(); var sourceMap = MapSources(report, reader); var columnMaps = new Dictionary <CrossDataColumn, SqlQueryDataSetField>(); var dataSet = new SqlQueryDataSet(Provider, reader); if (report.Columns != null) { foreach (var column in report.Columns.OfType <ReportAttributeColumnDef>()) { AddColumn(table, report, reader, column, sourceMap, dataSet, columnMaps); } } table.Fill(dataSet, columnMaps); return(table); }
protected void AddControlColumn(XlsGroup band, XlsRow gridRow, BizControl control, SqlQueryDataSet dataSet) { if (control.Invisible) { return; } var header = new XlsTextNode(control.Caption); band.AddGroup(header); var info = _adjuster.Find(control); var attr = dataSet.Reader.Query.FindAttribute(((BizDataControl)control).AttributeDefId ?? Guid.Empty); if (attr != null) { var field = gridRow.AddDataField(new SqlQueryDataSetField(dataSet, attr, control)); if (info != null) { header.ColSpan = info.ColSpan; field.ColSpan = info.ColSpan; } } /* * var field = gridRow.AddDataField(new SqlQueryDataSetField(dataSet, control)); * if (info != null) * { * header.ColSpan = info.ColSpan; * field.ColSpan = info.ColSpan; * // if (info.ColSpan == 1) * // field.Width = info.Size; * } */ }
protected void AddControlBand(XlsGroup band, XlsRow gridRow, BizControl control, SqlQueryDataSet dataSet) { if (control.Invisible || control is BizButton) { return; } if (control is BizPanel) { var node = new XlsTextNode(control.Caption); band.AddGroup(node); foreach (var child in control.Children) { AddControlBand(node, gridRow, child, dataSet); } } else if (control is BizTableColumn || control is BizDocumentControl || control is BizDocumentListForm) { if (control.Children != null) { foreach (var child in control.Children) { AddControlBand(band, gridRow, child, dataSet); } } } else if (control is BizDataControl) { AddControlColumn(band, gridRow, control, dataSet); } else if (control.Children != null) { foreach (var child in control.Children) { AddControlBand(band.AddGroup(new XlsTextNode(child.Caption)), gridRow, child, dataSet); } } }
public WordParagraphDef(SqlQueryDataSet dataSet, string name, ContentStyle style = null, string format = null) { AddDataField(dataSet, name, style, format); }