本文整理汇总了C#中fyiReporting.RDL.Row类的典型用法代码示例。如果您正苦于以下问题:C# Row类的具体用法?C# Row怎么用?C# Row使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Row类属于fyiReporting.RDL命名空间,在下文中一共展示了Row类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Evaluate
public object Evaluate(Report rpt, Row row)
{
object v = null;
if (row == null)
return null;
bool bSave=true;
RowEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return null;
Row crow=null;
bool bNext=false;
foreach (Row r in re)
{
if (bNext)
{
crow = r;
break;
}
if (r == row)
bNext = true;
}
if (crow != null)
v = _Expr.Evaluate(rpt, crow);
return v;
}
示例2: EvaluateDouble
public double EvaluateDouble(Report rpt, Row row)
{
bool bSave=true;
IEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return double.NaN;
ODouble v = GetValueDouble(rpt);
if (v != null)
return v.d;
double sum=0;
int count=0;
double temp;
foreach (Row r in re)
{
temp = _Expr.EvaluateDouble(rpt, r);
if (temp.CompareTo(double.NaN) != 0)
{
sum += temp;
count++;
}
}
double result;
if (count > 0)
result = (sum/count);
else
result = double.NaN;
if (bSave)
SetValue(rpt, result);
return result;
}
示例3: RunPage
internal void RunPage(Pages pgs, Row row)
{
// Start each row in the same location
// e.g. if there are two embedded tables in cells they both start at same location
Page savepg = pgs.CurrentPage;
float savey = savepg.YOffset;
Page maxpg = savepg;
float maxy = savey;
foreach (TableCell tc in _Items)
{
tc.RunPage(pgs, row);
if (maxpg != pgs.CurrentPage)
{ // a page break
if (maxpg.PageNumber < pgs.CurrentPage.PageNumber)
{
maxpg = pgs.CurrentPage;
maxy = maxpg.YOffset;
}
}
else if (maxy > pgs.CurrentPage.YOffset)
{
// maxy = maxy; TODO what was this meant to do
}
// restore the beginning start of the row
pgs.CurrentPage = savepg;
savepg.YOffset = savey;
}
pgs.CurrentPage = maxpg;
savepg.YOffset = maxy;
return ;
}
示例4: Evaluate
public object Evaluate(Report rpt, Row row)
{
bool bSave=true;
IEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return null;
object v = GetValue(rpt);
if (v == null)
{
object max_value=null;
object current_value;
foreach (Row r in re)
{
current_value = _Expr.Evaluate(rpt, r);
if (current_value == null || (current_value is double && double.IsNaN((double)current_value)))
continue;
else if (max_value == null)
max_value = current_value;
else if (Filter.ApplyCompare(_tc, max_value, current_value) < 0)
max_value = current_value;
}
v = max_value;
if (bSave)
SetValue(rpt, v);
}
return v;
}
示例5: EvaluateInt32
public int EvaluateInt32(Report rpt, Row row)
{
bool bSave=true;
IEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return int.MinValue;
Row startrow=null;
foreach (Row r in re)
{
startrow = r; // We just want the first row
break;
}
int count;
object currentValue = _Expr.Evaluate(rpt, row);
int incr = currentValue == null? 0: 1;
if (row == startrow)
{
// must be the start of a new group
count = incr;
}
else
{
count = GetValue(rpt) + incr;
}
SetValue(rpt, count);
return count;
}
示例6: Evaluate
//
public virtual object Evaluate(Report rpt, Row row)
{
if (row == null)
return null;
Field f;
string field = _ArgExpr.EvaluateString(rpt, row);
if (field == null)
return null;
f = _Fields[field] as Field;
if (f == null)
return null;
object o;
if (f.Value != null)
o = f.Value.Evaluate(rpt, row);
else
o = row.Data[f.ColumnNumber];
if (o == DBNull.Value)
return null;
if (f.RunType == TypeCode.String && o is char) // work around; mono odbc driver confuses string and char
o = Convert.ChangeType(o, TypeCode.String);
return o;
}
示例7: EvaluateDouble
public double EvaluateDouble(Report rpt, Row row)
{
bool bSave=true;
IEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return 0;
int v = GetValue(rpt);
if (v < 0)
{
object temp;
int count=0;
foreach (Row r in re)
{
temp = _Expr.Evaluate(rpt, r);
if (temp != null)
{
count++;
}
}
v = count;
if (bSave)
SetValue(rpt, v);
}
return (double) v;
}
示例8: EvaluateString
public string EvaluateString(Report rpt, Row row)
{
if (rpt == null || rpt.ClientLanguage == null)
return CultureInfo.CurrentCulture.ThreeLetterISOLanguageName;
else
return rpt.ClientLanguage;
}
示例9: Evaluate
// Evaluate is for interpretation (and is relatively slow)
public object Evaluate(Report rpt, Row row)
{
double d = EvaluateDouble(rpt, row);
if (d.CompareTo(double.NaN) == 0)
return null;
return (object) d;
}
示例10: EvaluateDouble
public double EvaluateDouble(Report rpt, Row row)
{
bool bSave=true;
RowEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return 0;
int v = GetValue(rpt);
if (v < 0)
{
object temp;
int count = Math.Max(2, re.LastRow - re.FirstRow);
Hashtable ht = new Hashtable(count);
foreach (Row r in re)
{
temp = _Expr.Evaluate(rpt, r);
if (temp != null)
{
object o = ht[temp]; // search for it
if (o == null) // if not found; add it to the hash table
{
ht.Add(temp, temp);
}
}
}
v = ht.Count;
if (bSave)
SetValue(rpt, v);
}
return (double) v;
}
示例11: DynamicExpression
internal DynamicExpression(Report rpt, ReportLink p, string expr, Row row)
{
_Source=expr;
_Expr = null;
_rl = p;
_Type = DoParse(rpt);
}
示例12: Evaluate
public object Evaluate(Report rpt, Row row)
{
bool bSave=true;
IEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return null;
Row startrow=null;
foreach (Row r in re)
{
startrow = r; // We just want the first row
break;
}
object v = GetValue(rpt);
object current_value = _Expr.Evaluate(rpt, row);
if (row == startrow)
{}
else
{
if (current_value == null)
return v;
else if (v == null)
{}
else if (Filter.ApplyCompare(_tc, v, current_value) > 0)
{}
else
return v;
}
SetValue(rpt, current_value);
return current_value;
}
示例13: EvaluateString
public string EvaluateString(Report rpt, Row row)
{
if (rpt == null || rpt.UserID == null)
return Environment.UserName;
else
return rpt.UserID;
}
示例14: EvaluateDouble
public double EvaluateDouble(Report rpt, Row row)
{
bool bSave=true;
IEnumerable re = this.GetDataScope(rpt, row, out bSave);
if (re == null)
return double.NaN;
Row startrow=null;
foreach (Row r in re)
{
startrow = r; // We just want the first row
break;
}
double currentValue = _Expr.EvaluateDouble(rpt, row);
WorkClass wc = GetValue(rpt);
if (row == startrow)
{
// must be the start of a new group
wc.Value = currentValue;
wc.Count = 1;
}
else
{
wc.Value = ((double) wc.Value + currentValue);
wc.Count++;
}
return (double) wc.Value / wc.Count;
}
示例15: Run
internal void Run(IPresent ip, Row row)
{
foreach (TableRow t in _Items)
{
t.Run(ip, row);
}
return;
}