比如:现在报表已经显示出从数据库里面提取的数据,但是字段是还原数据字段,虽然可以通过专家修改,但是能不能动态修改,让用户自定义字段的名称?

解决方案 »

  1.   

    比如现在显示的数据是这样的:    id     name
         1     tom
         2     kate
         3     jerry在显示前,怎样修改id和name 为"编号" 和 "名字"?
      

  2.   

    具体的例子很难给详细了
    只能给你分几块来说一下
    看下海波的blog很详细的
    http://blog.csdn.net/haibodotnet/archive/2003/11/16/21516.aspx
    一是在rpt文件中设置参数,及如何在报表中使用参数二是,如何给rpt文件的参数赋值我们先说一,rpt文件编辑的时候我们可以增加一个参数,使用专家,很容易就命名一个参数,注意参数的类型,你这里设置成string就好了,然后使用参数就是把你设置好的参数使用鼠标拖到你要他显示的表格头,把以前你方id和name的地方替换掉就完成了第一个问题,可能不是很详细,你查海波的blog是很详细的二是,传参数
    在你的aspx页面有一个crystalreportviewer,命名为crystalreportviewer1
    参考下面代码
    ParameterField paramField = new ParameterField();//实例化
    ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
    paramField.ParameterFieldName = "paramName";//rpt文件中设置的参数名称
    discreteVal.Value = paramValue;//给参数传的值,你的textbox中的text值
    paramField.CurrentValues.Add(discreteVal);
    paramFields.Add(paramField);
    CrystalReportViewer1.ParameterFieldInfo = paramFields;//CrystalReportViewer1是aspx页面中放的CrystalReportViewer控件
      

  3.   

    ParameterFields paramFields = new ParameterFields ();
    少了一个定义,补充一下
      

  4.   

    ParameterField paramField = new ParameterField();//实例化
    ParameterFields paramFields = new ParameterFields ();
    ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
    paramField.ParameterFieldName = "paramName";//rpt文件中设置的参数名称
    discreteVal.Value = paramValue;//给参数传的值,你的textbox中的text值
    paramField.CurrentValues.Add(discreteVal);
    paramFields.Add(paramField);
    CrystalReportViewer1.ParameterFieldInfo = paramFields;//CrystalReportViewer1是aspx页面中放的CrystalReportViewer控件
    ----------------
    到这里写完之后,怎么绑定到CrystalReportViewer1控件? 应该还得写点什么才能把参数显示出来吧, 望指点,谢谢
      

  5.   

    CrystalDecisions.CrystalReports.Engine.TextObject   txt=(CrystalDecisions.CrystalReports.Engine.TextObject)  Rpt.ReportDefinition.ReportObjects["text16"];
    txt.Text="日期:";       
    找到字段名的控件ID号就可以在程序中直接改了