本文整理汇总了C#中Flow.GetRect方法的典型用法代码示例。如果您正苦于以下问题:C# Flow.GetRect方法的具体用法?C# Flow.GetRect怎么用?C# Flow.GetRect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flow
的用法示例。
在下文中一共展示了Flow.GetRect方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Render
public override void Render(Report report, Flow fm, DataContext dataContext)
{
Rect rect = fm.GetRect(Position, Width ?? 1, Height ?? 1);
String value = Format == null ? Text : GetFormattedValue(dataContext);
report.Cells.Add(new Cell
{
Alignment = Alignment,
Column = rect.Col1,
Row = rect.Row1,
Value = value,
FormattedValue = value,
CellStyleIndex = CellStyle
});
if (rect.Width > 1 || rect.Height > 1)
report.MergedCells.Add(rect);
}
示例2: Render
public override void Render(Report report, Flow fm, DataContext dataContext)
{
HashSet<String> fieldNames = new HashSet<string>();
foreach (var c in Columns)
{
if (c.DataField != "#")
fieldNames.Add(c.DataField);
if (c.AggregateWeightDataField != null)
fieldNames.Add(c.AggregateWeightDataField);
}
foreach (var g in Groups)
foreach (var sc in g.GroupByColumns)
fieldNames.Add(sc.DataField);
var data = dataContext.CreateTable(DataTable, fieldNames.ToArray());
for (int i = 0; i < Columns.Length; i++)
{
Columns[i]._Index = i;
Columns[i]._DataFieldIndex = data.GetColumnIndex(Columns[i].DataField);
if (Columns[i].AggregateWeightDataField != null)
{
Columns[i]._AggregateWeightDataFieldIndex = data.GetColumnIndex(Columns[i].AggregateWeightDataField);
if (Columns[i]._AggregateWeightDataFieldIndex == -1)
throw new InvalidOperationException(String.Format("Weight column '{0}' not found.", Columns[i].AggregateWeightDataField));
}
}
List<SortColumn> sort = new List<SortColumn>();
List<GroupData> groupData = new List<GroupData>();
int gi = 0;
if (Groups != null)
{
foreach (var g in Groups)
{
var gd = new GroupData();
var gc = new List<SortColumn>();
if (g.GroupByColumns!=null)
foreach (var c in g.GroupByColumns)
{
var ci = data.GetColumnIndex(c.DataField);
if (ci != -1)
gc.Add(new SortColumn
{
ColumnIndex = ci,
SortDirection = c.SortDirection == SortDirection.None ? SortDirection.Ascending : c.SortDirection
});
}
gd.Columns = gc.ToArray();
sort.AddRange(gd.Columns);
gd.GroupIndex = gi++;
gd.Group = g;
if (g.CaptionFormat != null)
{
String[] names;
String format;
StringFormatHelper.PrepareFormatWithNames(g.CaptionFormat, out format, out names);
gd.PreparedCaptionFormat = format;
gd.PreparedCaptionColumns = names != null ? names.Select(a => data.GetColumnIndex(a)).ToArray() : null;
}
if (g.FooterFormat != null)
{
String[] names;
String format;
StringFormatHelper.PrepareFormatWithNames(g.FooterFormat, out format, out names);
gd.PreparedFooterFormat = format;
gd.PreparedFooterColumns = names!=null ? names.Select(a => data.GetColumnIndex(a)).ToArray() : null;
}
gd.GroupLevel = Groups.Length - gd.GroupIndex - 1;
gd.GroupOpen = false;
groupData.Add(gd);
}
}
sort.AddRange(from c in Columns
where c.SortDirection != SortDirection.None
orderby c.SortIndex
select new SortColumn
{
ColumnIndex = c._DataFieldIndex,
SortDirection = c.SortDirection
});
if (sort.Count != 0)
data.Sort(sort.ToArray());
var rows = data.Rows;
var rect = fm.GetRect(Position, Columns.Length, 0);
var pos = new RowCol { Col = rect.Col1, Row = rect.Row1 };
var startRow = pos.Row;
List<Cell> cells = new List<Cell>();
//.........这里部分代码省略.........