Search Results for

    Show / Hide Table of Contents

    Class ReportDataset

    ReportDataset is used internally by the reporting engine. Allow navigation in a IDataReader, using a two record buffer, so you can go back one record, but not two. The navigation is done forward, and does not consume memory (like IDataReader).

    Inheritance
    object
    MarshalByValueComponent
    DataTable
    ReportDataset
    Implements
    IComponent
    IDisposable
    IServiceProvider
    IListSource
    ISupportInitializeNotification
    ISupportInitialize
    ISerializable
    IXmlSerializable
    Inherited Members
    DataTable.fInitInProgress
    DataTable.BeginInit()
    DataTable.EndInit()
    DataTable.AcceptChanges()
    DataTable.CreateInstance()
    DataTable.Clone()
    DataTable.Copy()
    DataTable.Clear()
    DataTable.Compute(string, string)
    DataTable.GetChanges()
    DataTable.GetChanges(DataRowState)
    DataTable.GetErrors()
    DataTable.ImportRow(DataRow)
    DataTable.NewRow()
    DataTable.NewRowFromBuilder(DataRowBuilder)
    DataTable.GetRowType()
    DataTable.NewRowArray(int)
    DataTable.OnColumnChanging(DataColumnChangeEventArgs)
    DataTable.OnColumnChanged(DataColumnChangeEventArgs)
    DataTable.OnPropertyChanging(PropertyChangedEventArgs)
    DataTable.OnRemoveColumn(DataColumn)
    DataTable.OnRowChanged(DataRowChangeEventArgs)
    DataTable.OnRowChanging(DataRowChangeEventArgs)
    DataTable.OnRowDeleting(DataRowChangeEventArgs)
    DataTable.OnRowDeleted(DataRowChangeEventArgs)
    DataTable.OnTableCleared(DataTableClearEventArgs)
    DataTable.OnTableClearing(DataTableClearEventArgs)
    DataTable.OnTableNewRow(DataTableNewRowEventArgs)
    DataTable.RejectChanges()
    DataTable.Reset()
    DataTable.Select()
    DataTable.Select(string)
    DataTable.Select(string, string)
    DataTable.Select(string, string, DataViewRowState)
    DataTable.ToString()
    DataTable.BeginLoadData()
    DataTable.EndLoadData()
    DataTable.LoadDataRow(object[], bool)
    DataTable.LoadDataRow(object[], LoadOption)
    DataTable.Merge(DataTable)
    DataTable.Merge(DataTable, bool)
    DataTable.Merge(DataTable, bool, MissingSchemaAction)
    DataTable.Load(IDataReader)
    DataTable.Load(IDataReader, LoadOption)
    DataTable.Load(IDataReader, LoadOption, FillErrorEventHandler)
    DataTable.CreateDataReader()
    DataTable.WriteXml(Stream)
    DataTable.WriteXml(Stream, bool)
    DataTable.WriteXml(TextWriter)
    DataTable.WriteXml(TextWriter, bool)
    DataTable.WriteXml(XmlWriter)
    DataTable.WriteXml(XmlWriter, bool)
    DataTable.WriteXml(string)
    DataTable.WriteXml(string, bool)
    DataTable.WriteXml(Stream, XmlWriteMode)
    DataTable.WriteXml(Stream, XmlWriteMode, bool)
    DataTable.WriteXml(TextWriter, XmlWriteMode)
    DataTable.WriteXml(TextWriter, XmlWriteMode, bool)
    DataTable.WriteXml(XmlWriter, XmlWriteMode)
    DataTable.WriteXml(XmlWriter, XmlWriteMode, bool)
    DataTable.WriteXml(string, XmlWriteMode)
    DataTable.WriteXml(string, XmlWriteMode, bool)
    DataTable.WriteXmlSchema(Stream)
    DataTable.WriteXmlSchema(Stream, bool)
    DataTable.WriteXmlSchema(TextWriter)
    DataTable.WriteXmlSchema(TextWriter, bool)
    DataTable.WriteXmlSchema(XmlWriter)
    DataTable.WriteXmlSchema(XmlWriter, bool)
    DataTable.WriteXmlSchema(string)
    DataTable.WriteXmlSchema(string, bool)
    DataTable.ReadXml(Stream)
    DataTable.ReadXml(TextReader)
    DataTable.ReadXml(string)
    DataTable.ReadXml(XmlReader)
    DataTable.ReadXmlSchema(Stream)
    DataTable.ReadXmlSchema(TextReader)
    DataTable.ReadXmlSchema(string)
    DataTable.ReadXmlSchema(XmlReader)
    DataTable.GetDataTableSchema(XmlSchemaSet)
    DataTable.GetSchema()
    DataTable.ReadXmlSerializable(XmlReader)
    DataTable.CaseSensitive
    DataTable.IsInitialized
    DataTable.RemotingFormat
    DataTable.ChildRelations
    DataTable.Columns
    DataTable.Constraints
    DataTable.DataSet
    DataTable.DefaultView
    DataTable.DisplayExpression
    DataTable.ExtendedProperties
    DataTable.HasErrors
    DataTable.Locale
    DataTable.MinimumCapacity
    DataTable.ParentRelations
    DataTable.PrimaryKey
    DataTable.Rows
    DataTable.TableName
    DataTable.Namespace
    DataTable.Prefix
    DataTable.Site
    DataTable.ColumnChanging
    DataTable.ColumnChanged
    DataTable.Initialized
    DataTable.RowChanged
    DataTable.RowChanging
    DataTable.RowDeleting
    DataTable.RowDeleted
    DataTable.TableClearing
    DataTable.TableCleared
    DataTable.TableNewRow
    MarshalByValueComponent.Dispose()
    MarshalByValueComponent.Dispose(bool)
    MarshalByValueComponent.GetService(Type)
    MarshalByValueComponent.Events
    MarshalByValueComponent.Container
    MarshalByValueComponent.DesignMode
    MarshalByValueComponent.Disposed
    object.GetType()
    object.MemberwiseClone()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: Reportman.Reporting
    Assembly: Reportman.Reporting.dll
    Syntax
    public class ReportDataset : DataTable, IComponent, IDisposable, IServiceProvider, IListSource, ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable
    Remarks

    A two record buffer is needed to do report grouping, the reporting engine must go back one record when a group expression changes, and print group footers. This class is a helper to perform this task, but you can use it also to access to information inside a DataReader using a DataTable approach instead a DataReader approach, you will obtain a performance improvement when the number of records is high because the records are not stored in memory

    Constructors

    ReportDataset()

    Declaration
    public ReportDataset()

    Fields

    ColumnSizes

    Declaration
    public SortedList<string, int> ColumnSizes
    Field Value
    Type Description
    SortedList<string, int>

    OnCreateTable

    Declaration
    public ReportDataset.CreateTableEvent OnCreateTable
    Field Value
    Type Description
    ReportDataset.CreateTableEvent

    OnUpdateData

    Declaration
    public ReportDataset.UpdateDataEvent OnUpdateData
    Field Value
    Type Description
    ReportDataset.UpdateDataEvent

    OnUpdateDataAsync

    Declaration
    public ReportDataset.UpdateDataEventAsync OnUpdateDataAsync
    Field Value
    Type Description
    ReportDataset.UpdateDataEventAsync

    UpdateColumns

    When a DataReader is assigned, by default columns in the DataTable are created from datareader information, you can turn off the column creation setting the property to false, that is useful to enhace performance when you assign diferent DataReaders but with the same columns

    Declaration
    public bool UpdateColumns
    Field Value
    Type Description
    bool

    Properties

    Active

    Indicates if a DataReader have been assigned, this is a read only property

    Declaration
    public bool Active { get; }
    Property Value
    Type Description
    bool

    CurrentReader

    This is the main property of the class, you must assign it to provide data to the DataTable. One record is fetched (if available) when you assign this property.

    Declaration
    public IDataReader CurrentReader { get; set; }
    Property Value
    Type Description
    IDataReader

    CurrentRow

    Returns current active row, if you never call Prior, it's the last fetched row in the DataReader

    Declaration
    public DataRow CurrentRow { get; }
    Property Value
    Type Description
    DataRow

    CurrentRowCount

    Declaration
    public int CurrentRowCount { get; }
    Property Value
    Type Description
    int

    CurrentView

    This is the main property of the class, you must assign it to provide data to the DataTable. One record is fetched (if available) when you assign this property.

    Declaration
    public DataView CurrentView { get; set; }
    Property Value
    Type Description
    DataView

    Eof

    Returns true when there are no more records to fetch, or also when the assigned DataReader does not returned any data

    Declaration
    public bool Eof { get; }
    Property Value
    Type Description
    bool

    OtherRow

    Because there is a two record buffer you can access the row that is not active

    Declaration
    public DataRow OtherRow { get; }
    Property Value
    Type Description
    DataRow

    ViewFilter

    Declaration
    public object[] ViewFilter { get; set; }
    Property Value
    Type Description
    object[]

    Methods

    First()

    Go to first record only for inmemeory views

    Declaration
    public void First()

    Next()

    Moves to the next record in the internal DataReader, storing the contents in the DataTable. If you called Prior, then only changes the row returned by CurrentRow

    Declaration
    public bool Next()
    Returns
    Type Description
    bool

    Prior()

    Moves to the prior record in the DataTable, you can only go back one record

    Declaration
    public bool Prior()
    Returns
    Type Description
    bool

    Events

    OnDataChange

    Assign this event if you are interested in knowing when the current record data changes

    Declaration
    public event DataChange OnDataChange
    Event Type
    Type Description
    DataChange

    Implements

    IComponent
    IDisposable
    IServiceProvider
    IListSource
    ISupportInitializeNotification
    ISupportInitialize
    ISerializable
    System.Xml.Serialization.IXmlSerializable
    In this article
    Back to top Generated by DocFX