本文整理汇总了C#中Report.GetParamValueByName方法的典型用法代码示例。如果您正苦于以下问题:C# Report.GetParamValueByName方法的具体用法?C# Report.GetParamValueByName怎么用?C# Report.GetParamValueByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Report
的用法示例。
在下文中一共展示了Report.GetParamValueByName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadReport
public ReportDocument LoadReport(Report report)
{
ReportDocument doc = report.GetDocument();
// TODO: remove the retarded ManualDatasources flag
Hashtable datasources = report.ManualDatasources ? report.GetDatasources() : GetDatasources(report);
bool labelsLoaded = report.LoadLabels();
foreach (ReportDocument part in report.GetPartIterator())
{
// Set up data sources
foreach (Table table in part.Database.Tables)
{
table.SetDataSource(datasources[table.Name]);
}
if (!labelsLoaded) continue;
// Localize formulae
foreach (FormulaFieldDefinition ff in part.DataDefinition.FormulaFields)
{
// There is a trick here:
// only the formulae whose name starts with 'fn_'
// will be localized
if (!ff.Name.StartsWith("fn_")) continue;
string name = part.Name;
name = string.IsNullOrEmpty(name) ? "MAIN_REPORT" : name;
string label = report.GetLabel(name, ff.Name);
if (string.IsNullOrEmpty(label)) continue;
ff.Text = label;
}
// Localize labels
foreach (ReportObject obj in part.ReportDefinition.ReportObjects)
{
if (!(obj is TextObject)) continue;
TextObject tobj = obj as TextObject;
string name = part.Name;
name = string.IsNullOrEmpty(name) ? "MAIN_REPORT" : name;
string label = report.GetLabel(name, tobj.Name);
if (string.IsNullOrEmpty(label)) continue;
tobj.Text = label;
}
}
report.UseCents = true;
object cur = report.GetParamValueByName("display_in");
if (cur != null)
{
report.UseCents = Manager.GetUseCents(Convert.ToInt32(cur));
}
return doc;
}
示例2: GetParameterFields
public ParameterFields GetParameterFields(Report report)
{
ParameterFields retval = new ParameterFields();
ReportDocument doc = report.GetDocument();
foreach (ParameterField pf in doc.ParameterFields)
{
object value;
switch (pf.Name)
{
case "@LANGUAGE":
case "LANGUAGE":
value = UserSettings.Language;
break;
case "user_id":
case "@user_id":
case "USER_ID":
case "@USER_ID":
value = User.CurrentUser.Id;
break;
case "@USER_NAME":
case "USER_NAME":
value = User.CurrentUser.FirstName + " " + User.CurrentUser.LastName;
break;
case "@BRANCH_NAME":
case "BRANCH_NAME":
value = "";
break;
case "@MFI_NAME":
case "MFI_NAME":
value = "";
break;
default:
value = report.GetParamValueByName(pf.Name);
break;
}
if (null == value) continue;
ParameterField newPf = pf;
newPf.CurrentValues.Clear();
newPf.CurrentValues.Add(new ParameterDiscreteValue {Value = value});
retval.Add(newPf);
}
return retval;
}
示例3: GetDatasource
public DataTable GetDatasource(string name, Report report, string script)
{
try
{
bool create = true;
if (HasDatasource(name))
{
string currentScript = GetObjectCreateScript(name);
if (script != currentScript)
{
DeleteDatasource(name);
}
else
{
create = false;
}
}
if (create) AddDatasource(script);
List<string> dsParams = GetDatasourceParams(name);
using (SqlConnection conn = GetConnection())
using (SqlCommand cmd = new SqlCommand(name, conn))
{
cmd.CommandTimeout = ApplicationSettings.GetInstance(string.Empty).ReportTimeout;
cmd.CommandType = CommandType.StoredProcedure;
foreach (string paramName in dsParams)
{
object value;
switch (paramName.Trim(new[] {'@'}).ToLower())
{
case "language":
value = UserSettings.Language;
break;
case "branch_name":
value = "";
break;
case "user_id":
value = User.CurrentUser.Id;
break;
case "user_name":
value = User.CurrentUser.FirstName + " " + User.CurrentUser.LastName;
break;
case "branch_id":
value = report.GetParamValueByName(paramName) ?? 1;
break;
default:
value = report.GetParamValueByName(paramName);
break;
}
if (value != null)
cmd.Parameters.AddWithValue(paramName, value);
else
cmd.Parameters.AddWithValue(paramName, SqlInt32.Null);
}
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet retval = new DataSet();
da.Fill(retval, name);
return retval.Tables[0];
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
throw;
}
}