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); } } } } 
|