怎样在水晶报表中显示饼状图,其中的dataset是动态的,没有固定字段?在线等啊!!!
怎样在水晶报表中显示饼状图,其中的dataset是动态的,没有固定字段? 问题点数:0、回复次数:3Top
1 楼ssdjmcj8048(就是俗)回复于 2003-12-01 18:55:38 得分 0
水晶报表标准版的DataSet的字段不能动态!Top
2 楼youngcy(youngcy)回复于 2003-12-01 19:01:50 得分 0
晕哦,~~~那我的多种方式统计饼状图怎么办?Top
3 楼haibodotnet(海波.NET)回复于 2003-12-01 22:14:19 得分 0
根据公式字段分组,运行时更改公式……
编程更改公式字段示例代码(作者:海波.NET,更新:2003-10-21)
using CrystalDecisions.CrystalReports.Engine;
namespace GMedicine
{
/// <summary>
/// FormGMedicine 的摘要说明。
/// </summary>
public class FormGMedicine : System.Windows.Forms.Form
{
private const string CR_PATH = @"..\..\RPTGMedicine.rpt";
private const string FORMULA_FIELD_NAME = @"Group";
private string[] FORMULA_FIELD_TEXT = {"{客户.国家和地区}", "{客户.城市}",
"{客户.联系人职位}", "{客户.地区}"};
private CrystalDecisions.Windows.Forms.CrystalReportViewer crvGMedicine;
private GMedicine.RPTGMedicine rptGMedicine;
private System.Windows.Forms.ComboBox cbxSelectGroup;
private void FormGMedicine_Load(object sender, System.EventArgs e)
{
LoadFormulaList();
crvGMedicine.ReportSource = rptGMedicine;
crvGMedicine.RefreshReport();
}
private void cbxSelectGroup_SelectedIndexChanged(object sender, System.EventArgs e)
{
FormulaFieldDefinition formulaField;
formulaField = GetFormulaField(rptGMedicine, FORMULA_FIELD_NAME);
formulaField.Text = cbxSelectGroup.SelectedItem.ToString();
crvGMedicine.RefreshReport();
}
private FormulaFieldDefinition GetFormulaField(ReportDocument Report, string formulaFieldName)
{
FormulaFieldDefinition formulaField;
// 按名称获取 FormulaFieldDefinition,
//并返回此对象。
formulaField = Report.DataDefinition.FormulaFields[formulaFieldName];
if (formulaField != null) return formulaField;
else return null;
}
private void LoadFormulaList()
{
foreach (string formula in FORMULA_FIELD_TEXT)
{
cbxSelectGroup.Items.Add(formula);
}
}
}
}Top




