編程更改公式字段示例代碼

 

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=21531


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章