DataTable
DataTable
Можно ли в редакторе отчётов в ручную перелить из поступающего в Report DataTable в созданный в ручную DataTAble, если да то где и как
DataTable
Вы можете обработать DataTable в событии BeginRenderEvent отчета. Достать DataTables и DataSets зарегестрированные через метод RegData можно через коллекцию this.Dictionary.DataStore. Полученный DataTable можно зарегестрировать при помощи метода RegData в отчете.
Спасибо.
Спасибо.
DataTable
Уменя есть DataTable в который занесены объёмы брака за месяц по дням но в самой DataTable есть только дни когда был брак а в отчёте надо вывести все дни месяца как это можно сделать.
DataTable
Воспользуйтесь, пожалуйста, кодом, аналогичным следующему примеру. Здесь производится регистрация в отчете DataSet, а потом вручную добавляется таблица MyTable аналогичная Categories из dataSet Demo. Подход в Вашем случае аналогичный.
Спасибо.
Код: Выделить всё
StiReport report = new StiReport();
DataSet ds = new DataSet("Demo");
ds.ReadXmlSchema("Demo.xsd");
ds.ReadXml("Demo.xml");
report.RegData(ds);
DataTable myDataTable = new DataTable();
DataTable tableFromDataStore = (DataTable)report.Dictionary.DataStore["Demo.Categories"].Data;
DataColumn newDataColumn;
foreach (DataColumn dataColumn in tableFromDataStore.Columns)
{
newDataColumn = new DataColumn();
newDataColumn.ColumnName = dataColumn.ColumnName;
newDataColumn.DataType = dataColumn.DataType;
newDataColumn.Caption = dataColumn.Caption;
newDataColumn.AllowDBNull = dataColumn.AllowDBNull;
myDataTable.Columns.Add(newDataColumn);
}
DataRow newDataRow;
foreach (DataRow dataRow in tableFromDataStore.Rows)
{
newDataRow = myDataTable.NewRow();
foreach (DataColumn dataColumn in tableFromDataStore.Columns)
{
newDataRow[tableFromDataStore.Columns[dataColumn.ColumnName].ColumnName] = dataRow[tableFromDataStore.Columns[dataColumn.ColumnName].ColumnName];
}
myDataTable.Rows.Add(newDataRow);
}
myDataTable.TableName = "MyTable";
report.RegData(myDataTable);
report.Design();