1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using FastReport.Utils;
- namespace FastReport
- {
- /// <summary>
- /// Holds the list of objects of <see cref="ReportComponentBase"/> type.
- /// </summary>
- public class ReportComponentCollection : FRCollectionBase
- {
- /// <summary>
- /// Gets or sets the element at the specified index.
- /// </summary>
- /// <param name="index">Index of an element.</param>
- /// <returns>The element at the specified index.</returns>
- public ReportComponentBase this[int index]
- {
- get { return List[index] as ReportComponentBase; }
- set { List[index] = value; }
- }
- internal ReportComponentCollection SortByTop()
- {
- ReportComponentCollection result = new ReportComponentCollection();
- CopyTo(result);
- result.InnerList.Sort(new TopComparer());
- return result;
- }
- /// <summary>
- /// Initializes a new instance of the <see cref="ReportComponentCollection"/> class with default settings.
- /// </summary>
- public ReportComponentCollection() : this(null)
- {
- }
- /// <summary>
- /// Initializes a new instance of the <see cref="ReportComponentCollection"/> class with specified owner.
- /// </summary>
- public ReportComponentCollection(Base owner) : base(owner)
- {
- }
- private class TopComparer : IComparer
- {
- public int Compare(object x, object y)
- {
- return (x as ReportComponentBase).Top.CompareTo((y as ReportComponentBase).Top);
- }
- }
- }
- }
|