本文整理汇总了C#中Oranikle.Report.Engine.Report类的典型用法代码示例。如果您正苦于以下问题:C# Report类的具体用法?C# Report怎么用?C# Report使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Report类属于Oranikle.Report.Engine命名空间,在下文中一共展示了Report类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetX2
public float GetX2(Report rpt)
{
float x2=GetOffsetCalc(rpt)+LeftCalc(rpt);
if (Width != null)
x2 += Width.Points;
return x2;
}
示例2: 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;
}
示例3: 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;
}
示例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 min_value=null;
object current_value;
foreach (Row r in re)
{
current_value = _Expr.Evaluate(rpt, r);
if (current_value == null)
continue;
else if (min_value == null)
min_value = current_value;
else if (Filter.ApplyCompare(_tc, min_value, current_value) > 0)
min_value = current_value;
}
v = min_value;
if (bSave)
SetValue(rpt, v);
}
return v;
}
示例5: EvaluateInt32
public int EvaluateInt32(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 v;
}
示例6: EvaluateString
public string EvaluateString(Report rpt, Row row)
{
if (rpt == null || rpt.ClientLanguage == null)
return CultureInfo.CurrentCulture.ThreeLetterISOLanguageName;
else
return rpt.ClientLanguage;
}
示例7: 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;
}
示例8: DynamicExpression
public DynamicExpression(Report rpt, ReportLink p, string expr, Row row)
{
_Source=expr;
_Expr = null;
_rl = p;
_Type = DoParse(rpt);
}
示例9: 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 current_value = _Expr.Evaluate(rpt, row);
if (row == startrow)
{}
else
{
object v = GetValue(rpt);
if (current_value == null)
return v;
else if (v == null)
{} // use the current_value
else if (Filter.ApplyCompare(_tc, v, current_value) < 0)
{} // use the current_value
else
return v;
}
SetValue(rpt, current_value);
return current_value;
}
示例10: EvaluateString
public string EvaluateString(Report rpt, Row row)
{
if (rpt == null || rpt.UserID == null)
return Environment.UserName;
else
return rpt.UserID;
}
示例11: SupplyValues
public void SupplyValues(Report rpt, out string[] displayValues, out object[] dataValues)
{
displayValues = new string[_Items.Count];
dataValues = new object[_Items.Count];
int index=0;
// go thru the parameters extracting the data values
foreach (ParameterValue pv in _Items)
{
if (pv.Value == null)
dataValues[index] = null;
else
dataValues[index] = pv.Value.Evaluate(rpt, null);
if (pv.Label == null)
{ // if label is null use the data value; if not provided use ""
if (dataValues[index] == null)
displayValues[index] = "";
else
displayValues[index] = dataValues[index].ToString();
}
else
{
displayValues[index] = pv.Label.EvaluateString(rpt, null);
if (displayValues[index] == null)
displayValues[index] = "";
}
index++;
}
return;
}
示例12: 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;
}
示例13: CleanUp
public void CleanUp(Report rpt) // closes any connections
{
foreach (DataSourceDefn ds in _Items.Values)
{
ds.CleanUp(rpt);
}
}
示例14: RenderXml
public RenderXml(Report rep, IStreamGen sg)
{
r = rep;
tw = sg.GetTextWriter();
stkReportItem = new Stack();
stkContainers = new Stack();
}
示例15: 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;
}