水晶参数 [英] Crystal parameters

查看:73
本文介绍了水晶参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好NG,


经过一段时间的等待,我的书店,马萨诸塞州沃尔瑟姆的SoftPro进入了Brian

Bischof的书:Crystal Reports .NET编程。我已经阅读了几本关于

CR的书,但我对它很新,C#和SQL。这本书非常好。

无所畏惧,我已经将我旧的COBOL ERP系统转换成C#的
MCS-3。我有相当多的库存控制已完成并正在工作。

对于报告我试图使用CR。我有六个人直接从SQL Server数据库工作

。为了做记录(好的,我是一个旧的COBOL手!阅读行。)选择我在数据库中有一个名为

im_planner_code的字段(OK,列) 。使用默认参数?plannerCode I

能够选择im_planner_code =" A"的所有行。我想

开发我自己的参数对话框。首先,我在Form1303的load事件中调用了下面列出的代码

。它编译干净,但在突出显示的行处有一个

执行错误。我当然想知道

我的问题是什么,但除此之外我还需要知道如何调试CR执行

错误。


.NET下的CR是否有好的新闻组?我目前阅读:

Microsoft.public.dotnet.languages.csharp。提前谢谢。


干杯,


鲍勃


Robert Schuldenfrei


SI Inc.



Dedham,MA 02026


(781)329-4828

bo*@si-inc.com
www.si-inc.com


使用System;


使用System.Drawing;


使用System.Collections;

使用System.ComponentModel;


使用System.Windows.Forms;


使用CrystalDecisions.Shared;


使用CrystalDecisions.CrystalReports.Engine;


命名空间报告


{


///< summary>


/// Form1303的摘要说明。


///< / summary> ;


公共类Form1303:System.Windows.Forms.Form


{


私人CrystalDecisions.Windows.Forms.CrystalReportViewer

crystalReportViewer1;


private Reports.rpt1303 rpt13031;


private ParameterDiscreteValue parameterDiscreteValue;

//用于参数传递


private ParameterValues parameterValues;


private ParameterFieldDefinition parameterFieldDefinition;


///< summary>


///所需的设计变量。


///< / summary>


private System.ComponentModel.Container components = null;


public Form1303()


{


//


// Windows必需表单设计器支持


//

InitializeComponent();


//


// TODO:添加任何构造函数代码

InitializeComponent调用


//


}


///< ;摘要>


///清理正在使用的所有资源。


///< / summary>


protected override void Dispose(bool disposing)


{


if(disposing)


{


if(components!= null)


{


components.Dispose();


}


}


base.Dispose(处置);


}


#region Windows窗体设计器生成的代码


///< ;摘要>


/// Designer支持所需的方法 - 不要修改


///使用代码的方法的内容编辑。


///< / summary>


private void InitializeComponent()


{


this.crystalReportViewer1 = new

CrystalDecisions.Windows.Forms.CrystalReportViewer();


this .rpt13031 = new Reports.rpt1303();


this.SuspendLayout();


//


// crystalReportViewer1


//


this.crystalReportViewer1.ActiveViewIndex = -1;


this.crystalReportViewer1.Dock =

System.Windows.Forms.DockStyle.Fill;


this.crystalReportViewer1.Location = new

System.Drawing.Point(0,0);


this.crystalReportViewer1.Name =" crystalReportViewer1";


this.crystalReportViewer1.ReportSource = this.rpt13031;


this.crystalReportViewer1.Size = new

System.Drawing.Size(892,746);


this.crystalReportViewer1.TabIndex = 0;


//


// rpt13031


//


this.rpt13031.PrintOptions.PaperOrientation =

CrystalDecisions.Shared.PaperOrientation.Landscape;


this.rpt13031.PrintOptions。 PaperSize =

CrystalDecisions.Shared.PaperSize.Defau ltPaperSize;


this.rpt13031.PrintOptions.PaperSource =

CrystalDecisions.Shared.PaperSource.Upper;


this.rpt13031.PrintOptions.PrinterDuplex =

CrystalDecisions.Shared.PrinterDuplex.Default;


//


// Form1303

//


this.AutoScaleBaseSize = new System.Drawing.Size(5,13);


this.ClientSize = new System.Drawing.Size(892,746);


this.Controls.Add(this.crystalReportViewer1);


this.Name =" Form1303";


this.Text =" Form1303";


this.WindowState =

System.Windows.Forms.FormWindowState.Maximized;


this.Load + = new System.EventHandler(this.Form1303_Load);


this.ResumeLayout(false);


}


#endregion


private void Form1303_Load(object sender,System.EventArgs e)


{


this.crystalReportViewer1.Zoom(75);


//使用ReportDocument对象创建plannerCode&

productCode参数


//注意:我的ReportDocument被称为rpt13031而不是
CrystalReport1


rpt1303 myReport = new rpt1303 ();


//第1步:要修改的属性字段 - 错误:无效字段

名称。


parameterFieldDefinition =

myReport.DataDefinition.ParameterFields ["?plannerCode"];


//第2步:实例化parameterValues集合


parameterValues = new ParameterValues();


//步骤3:实例化一个parameterValue

parameterDiscreteValue = new ParameterDiscreteValue( );


//第4步:设置Value属性


parameterDiscreteValue.Value =" A" ;; //将从用户那里获得这个



//步骤5:使用Add()方法添加到集合中


parameterValues.Add(parameterDiscreteValue);


//第6步:其他参数在这里(productCode)


//第7步:将集合分配给参数字段

parameterFieldDefinition.ApplyCurrentValues(参数terValues);


//步骤8:预览报告


crystalReportViewer1.ReportSource = myReport;


}


}


}


Hello NG,

After a bit of a wait my bookstore, SoftPro of Waltham, MA, got in the Brian
Bischof book: Crystal Reports .NET Programming. I have read a few books on
CR, but I am very new to it, C#, and SQL. The book is excellent.
Undaunted, I have plowed into a conversion of my old COBOL ERP system,
MCS-3, into C#. I have quite a bit of Inventory Control done and working.
For reports I am trying to use CR. I have a half a dozen of them working
directly off of the SQL Server database. In order to do record (OK, I am an
old COBOL hand! Read row.) selection I have a field (OK, column) called
im_planner_code in the database. Using the default parameter ?plannerCode I
am able to select all rows with im_planner_code = "A". I would like to
develop my own parameter dialog box. To start I have invoked the code
listed below at the load event of Form1303. It compiles clean, but has an
execution error at the highlighted line. I would of course like to know
what my problem is, but beyond that I need to know how to debug CR execution
errors.

Is there a good newsgroup for CR under .NET? I currently read:
Microsoft.public.dotnet.languages.csharp. Thank you in advance.

Cheers,

Bob

Robert Schuldenfrei

S. I. Inc.

32 Ridley Road

Dedham, MA 02026

(781) 329-4828

bo*@s-i-inc.com

www.s-i-inc.com

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using CrystalDecisions.Shared;

using CrystalDecisions.CrystalReports.Engine;

namespace Reports

{

/// <summary>

/// Summary description for Form1303.

/// </summary>

public class Form1303 : System.Windows.Forms.Form

{

private CrystalDecisions.Windows.Forms.CrystalReportViewer
crystalReportViewer1;

private Reports.rpt1303 rpt13031;

private ParameterDiscreteValue parameterDiscreteValue;
//used for parameter passing

private ParameterValues parameterValues;

private ParameterFieldDefinition parameterFieldDefinition;

/// <summary>

/// Required designer variable.

/// </summary>

private System.ComponentModel.Container components = null;

public Form1303()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

//

// TODO: Add any constructor code after
InitializeComponent call

//

}

/// <summary>

/// Clean up any resources being used.

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

this.crystalReportViewer1 = new
CrystalDecisions.Windows.Forms.CrystalReportViewer ();

this.rpt13031 = new Reports.rpt1303();

this.SuspendLayout();

//

// crystalReportViewer1

//

this.crystalReportViewer1.ActiveViewIndex = -1;

this.crystalReportViewer1.Dock =
System.Windows.Forms.DockStyle.Fill;

this.crystalReportViewer1.Location = new
System.Drawing.Point(0, 0);

this.crystalReportViewer1.Name = "crystalReportViewer1";

this.crystalReportViewer1.ReportSource = this.rpt13031;

this.crystalReportViewer1.Size = new
System.Drawing.Size(892, 746);

this.crystalReportViewer1.TabIndex = 0;

//

// rpt13031

//

this.rpt13031.PrintOptions.PaperOrientation =
CrystalDecisions.Shared.PaperOrientation.Landscape ;

this.rpt13031.PrintOptions.PaperSize =
CrystalDecisions.Shared.PaperSize.DefaultPaperSize ;

this.rpt13031.PrintOptions.PaperSource =
CrystalDecisions.Shared.PaperSource.Upper;

this.rpt13031.PrintOptions.PrinterDuplex =
CrystalDecisions.Shared.PrinterDuplex.Default;

//

// Form1303

//

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(892, 746);

this.Controls.Add(this.crystalReportViewer1);

this.Name = "Form1303";

this.Text = "Form1303";

this.WindowState =
System.Windows.Forms.FormWindowState.Maximized;

this.Load += new System.EventHandler(this.Form1303_Load);

this.ResumeLayout(false);

}

#endregion

private void Form1303_Load(object sender, System.EventArgs e)

{

this.crystalReportViewer1.Zoom(75);

//Use the ReportDocument object to create plannerCode &
productCode parameters

//note: my ReportDocument is called rpt13031 not
CrystalReport1

rpt1303 myReport = new rpt1303();

//Step 1: property field to modify - ERROR: Invalid field
name.

parameterFieldDefinition =
myReport.DataDefinition.ParameterFields["?plannerCode"];

//Step 2: instantiate parameterValues collection

parameterValues = new ParameterValues();

//Step 3: instantiate a parameterValue

parameterDiscreteValue = new ParameterDiscreteValue();

//Step 4: set Value property

parameterDiscreteValue.Value = "A"; //will get this
from user

//Step 5: use Add() method to add to collection

parameterValues.Add(parameterDiscreteValue);

//Step 6: other parameters go here (productCode)

//Step 7: assign collection to parameter field
parameterFieldDefinition.ApplyCurrentValues(parame terValues);

//Step 8: preview report

crystalReportViewer1.ReportSource = myReport;

}

}

}


推荐答案

嗨NG,


我改变了方法并取得了进展。下面的代码现在使用

CrystalReportViewer类。它的工作原理除外:


1 /它显示默认参数屏幕,尽管我提供自己的参数是
。然后在正确运行我的参数.Value =" A"

之前,它会闪烁

标准参数屏幕的正确结果。 Load事件是参数

over-rides的正确位置吗?


2 /最终报告没有设置Zoom(75)属性但是还原为

100%。


TIA


Bob
bo *@si-inc.com


使用系统;


使用系统.Drawing;


使用System.Collections;


使用System.ComponentModel;


使用System.Windows.Forms;


使用CrystalDecisions.Shared;


使用CrystalDecisions.CrystalReports.Engine;


命名空间报告


{


///< summary>


/// Form1的摘要描述。


///< / summary>


公共类Form1301:System.Windows.Forms。表格


{


私人CrystalDecisions.Windows.Forms.CrystalReportViewer

crystalReportViewer1;


私人报告.rpt1301 rpt13011;


///< summary>


///要求设计师变量。


///< / summary>


private System.ComponentModel.Container components = null;


private ParameterDiscreteValue parameterDiscreteValue; //用于参数

传递


private ParameterFields parameterFields;


private ParameterField parameterField; //注意:删除我


public Form1301()


{


//


// Windows窗体设计器支持需要


//


InitializeComponent(); < br $>

//


// TODO:在InitializeComponent调用后添加任何构造函数代码


//


}


///< summary>


///清理任何正在使用的资源。


///< / summary>


protected override void Dispose(bool disposing)


{


if(处理)


{


if(组件!= null)


{


components.Dispose();


}


}


base.Dispose(disposing);


}


#region Windows窗体设计器生成的代码


///< summary>


///所需的方法设计师 支持 - 请勿使用代码编辑器修改此方法的内容。


///< / summary>


private void InitializeComponent()

{


this.crystalReportViewer1 = new

CrystalDecisions.Windows.Forms.CrystalReportViewer();


this.rpt13011 = new Reports.rpt1301();


this.SuspendLayout();


//


// crystalReportViewer1


//


this.crystalReportViewer1.ActiveViewIndex = -1;


this.crystalReportViewer1.Dock = System.Windows.Forms.DockStyle.Fill;


this.crystalReportViewer1.Location = new System.Drawing.Point(0,0);


this.crystalReportViewer1.Name =" crystalReportViewer1" ;


this.crystalReportViewer1.ReportSource = this.rpt13011;


this.crystalReportViewer1.Size = new System.Drawing.Size(696, 374);

this.crystalReportViewer1.TabIndex = 0;


//


// rpt13011


//


this.rpt13011.PrintOptions.PaperOrientation =

CrystalDecisions.Shared.PaperOrientation.Landscape;


this.rpt13011.PrintOptions.PaperSize =

CrystalDecisions.Shared.PaperSize.DefaultPaperSize;


this.rpt13011.PrintOptions.PaperSource =

CrystalDecisions.Shared.PaperSource.Upper;


this.rpt13011.PrintOptions.PrinterDuplex =

CrystalDecisions.Shared.PrinterDuplex。默认;


//


// Form1301


//


this.AutoScaleBaseSize = new System.Drawing.Size(5,13);


this.ClientSize = new System.Drawing.Size(696,374) ;


this.Controls.Add(this.crystalReportViewer1);


this.Name =" Form1301";


this.Text =" Crystal Reports - 1301&qu ot ;;


this.WindowState = System.Windows.Forms.FormWindowState.Maximized;


this.Load + = new System.EventHandler (this.Form1301_Lo​​ad);


this.ResumeLayout(false);


}


#endregion


private void Form1301_Lo​​ad(object sender,System.EventArgs e)


{


this.crystalReportViewer1.Zoom(75);


//使用viewer对象创建plannerCode& productCode参数


rpt1301 myReport = new rpt1301();


//步骤1:为查看者分配报表对象


crystalReportViewer1.ReportSource = myReport;


//第2步:引用parameterFields集合


parameterFields = crystalReportViewer1.ParameterFieldInfo;


//第3步:引用参数字段


//参数字段=新的ParameterField();


//parameterField.ParameterFieldName =" plannerCode";


parameterField = parameterFields [" plannerCode"];


//第4步:创建一个parameterValue对象


parameterDiscreteValue = new ParameterDiscreteValue();


//步骤5:为对象赋值


parameterDiscreteValue.Value =" A";


//步骤6:将parameterValue对象添加到CurrentValues集合


parameterField.CurrentVal ues.Add(parameterDiscrete Value);


//MessageBox.Show(" in load event。"," Info");


}


}


}
Hi NG,

I changed my approach and made progress. The code below now uses the
CrystalReportViewer classes. It works except that:

1/ It displays the default parameter screen in spite of the fact that I am
providing my own parameters. It then flashes the correct result of the
standard parameter screen before running my parameter .Value = "A"
correctly. Is the Load event the correct placement for parameter
over-rides?

2/ The final report does not set the Zoom(75) property but reverts back to
100%.

TIA

Bob
bo*@s-i-inc.com

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using CrystalDecisions.Shared;

using CrystalDecisions.CrystalReports.Engine;

namespace Reports

{

/// <summary>

/// Summary description for Form1.

/// </summary>

public class Form1301 : System.Windows.Forms.Form

{

private CrystalDecisions.Windows.Forms.CrystalReportViewer
crystalReportViewer1;

private Reports.rpt1301 rpt13011;

/// <summary>

/// Required designer variable.

/// </summary>

private System.ComponentModel.Container components = null;

private ParameterDiscreteValue parameterDiscreteValue; //used for parameter
passing

private ParameterFields parameterFields;

private ParameterField parameterField; //note: removed I

public Form1301()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

//

// TODO: Add any constructor code after InitializeComponent call

//

}

/// <summary>

/// Clean up any resources being used.

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

this.crystalReportViewer1 = new
CrystalDecisions.Windows.Forms.CrystalReportViewer ();

this.rpt13011 = new Reports.rpt1301();

this.SuspendLayout();

//

// crystalReportViewer1

//

this.crystalReportViewer1.ActiveViewIndex = -1;

this.crystalReportViewer1.Dock = System.Windows.Forms.DockStyle.Fill;

this.crystalReportViewer1.Location = new System.Drawing.Point(0, 0);

this.crystalReportViewer1.Name = "crystalReportViewer1";

this.crystalReportViewer1.ReportSource = this.rpt13011;

this.crystalReportViewer1.Size = new System.Drawing.Size(696, 374);

this.crystalReportViewer1.TabIndex = 0;

//

// rpt13011

//

this.rpt13011.PrintOptions.PaperOrientation =
CrystalDecisions.Shared.PaperOrientation.Landscape ;

this.rpt13011.PrintOptions.PaperSize =
CrystalDecisions.Shared.PaperSize.DefaultPaperSize ;

this.rpt13011.PrintOptions.PaperSource =
CrystalDecisions.Shared.PaperSource.Upper;

this.rpt13011.PrintOptions.PrinterDuplex =
CrystalDecisions.Shared.PrinterDuplex.Default;

//

// Form1301

//

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(696, 374);

this.Controls.Add(this.crystalReportViewer1);

this.Name = "Form1301";

this.Text = "Crystal Reports - 1301";

this.WindowState = System.Windows.Forms.FormWindowState.Maximized;

this.Load += new System.EventHandler(this.Form1301_Load);

this.ResumeLayout(false);

}

#endregion

private void Form1301_Load(object sender, System.EventArgs e)

{

this.crystalReportViewer1.Zoom(75);

//Use the viewer object to create plannerCode & productCode parameters

rpt1301 myReport = new rpt1301();

//Step 1: assign report object to viewer

crystalReportViewer1.ReportSource = myReport;

//Step 2: reference parameterFields collection

parameterFields = crystalReportViewer1.ParameterFieldInfo;

//Step 3: reference the parameterField

//parameterField = new ParameterField();

//parameterField.ParameterFieldName = "plannerCode";

parameterField = parameterFields["plannerCode"];

//Step 4: create a parameterValue object

parameterDiscreteValue = new ParameterDiscreteValue();

//Step 5: assign a value to the object

parameterDiscreteValue.Value = "A";

//Step 6: add the parameterValue object to the CurrentValues collection

parameterField.CurrentValues.Add(parameterDiscrete Value);

//MessageBox.Show("In load event.", "Info");

}

}

}


嗨罗伯特,


首先,我想确认一下我对你的问题的理解。从

您的描述,我知道您有两个问题。第一个是

,参数屏幕出现问题。第二个是缩放

无法正常工作。如果有任何误解,请随时告诉我




我对Crystal Report不太熟悉。但根据您提供的代码,我建议您提供代码行

this.crystalReportViewer1.Zoom(75);设置报告源后。 (尝试

将此行移动到Form_Load的底部。)因为设置报告

source可能会刷新视图,这会导致Zoom无法正常工作。


我不太清楚为什么会出现参数问题。如果你能在整个项目中给我发一个

repro,我会尝试调试它。谢谢!


由于Crystal Report是Business Objects的第三方产品,

目前我们没有Crystal Report讨论的新闻组。除了在这里发布

之外,您还可以查看Business Objects支持网站以获取帮助。

这是链接:

http://support.businessobjects.com/

HTH。


Kevin Yu

=======

此帖子已提供按现状没有保证,并且不授予

权利。

Hi Robert,

First of all, I would like to confirm my understanding of your issue. From
your description, I understand that you have two questions. The first is
that there is something wrong with the parameter screen. The second is zoom
is not working properly. If there is any misunderstanding, please feel free
to let me know.

I''m not quite familiar with Crystal Report. But based on the code you have
provided, I recommend you to put the line of code
this.crystalReportViewer1.Zoom(75); after setting the report source. (Try
to move this line to the bottom of Form_Load.) Because setting the report
source might refresh the view, which causes Zoom not working properly.

I''m not quite sure why parameter issue happens. If you could send me a
repro with whole project, I will try to debug it. Thank you!

Since Crystal Report is a third-party product by Business Objects,
currently we have no newsgroup for Crystal Report discussion. Besides
posting here, you can also check Business Objects support website for help.
Here is the link:

http://support.businessobjects.com/

HTH.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."


嗨凯文和NG,

再次感谢您抽出时间解决我的问题。在我收到
打包项目并发送给你之​​前,我想知道我是否会朝着正确的方向前进。首先,最重要的是Crystal Reports

(CR)是打印报告的正确工具吗?我的应用程序中有超过100个报告,我想使用最好的工具。


其次,如果CR是正确的工具我正确使用它吗?因为它很容易做到,所以我开始直接使用CR来对抗SQL数据库。这个

似乎被称为拉。关于CR的书籍技巧。对于我的

报告的90%,这将有效。对于最后10%,我将不得不重新格式化和/或

重构C#程序中的数据。此时我可以创建一个

临时SQL表并打印报告使用相同的拉字段。技术I

一直使用90%,或者使用推送将其发送给CR。技术。我还没有学会推和推。技术。在我的ERP应用程序中,这样一份报告的好例子将是缩进的物料清单报告。这个

是一个遵循树形结构的报告,而不是表格中

记录(行)的简单列表。


第三,将.Zoom(75)属性移动到报告的末尾使得窗口底部显示的

消息显示为75%,但视图为

为100%。我可以使用窗口顶部的图标强制它达到75%。

现在通过代码设置的其他属性生效正确,例如

..DisplayGroupTree属性。

crystalReportViewer1.DisplayGroupTree = false;

crystalReportViewer1.Zoom(75);


最后,报告加载事件是这段代码适当的地方?


和往常一样,谢谢你的帮助,


干杯,


Bob


-

Robert Schuldenfrei

SI Inc.

32 Ridley Road

Dedham,MA 02026
bo*@si-inc.com

781 / 329-4828

Kevin Yu [MSFT]" <,V - **** @ online.microsoft.com>在消息中写道

新闻:Oj ************* @ cpmsftngxa06.phx.gbl ...
Hi Kevin and NG,

Once again thank you for taking time out to address my problems. Before I
pack up the project and send it to you I would like to know if I am going
off in the right direction. First, and most important, is Crystal Reports
(CR) the right tool for printing reports? I have well over 100 reports in
my application and I would like to use the best tool for the job.

Second, if CR is the right tool, am I using it correctly? Because it was
easy to do, I started using CR directly against the SQL database. This
seems to be called the "Pull" technique by books on CR. For 90% of my
reports this will work. For the last 10% I will have to reformat and/or
restructure the data in a C# program. At this point I could either create a
temporary SQL table and print the report use the same "Pull" technique I
have been using on the 90%, or send it to CR using the "Push" technique. I
have not yet learned the "Push" technique. A good example of such a report
in my ERP application would be an indented Bill of Materials report. This
is a report that follows a tree structure rather than a simple listing of
records (rows) in a table.

Third, moving the .Zoom(75) property to the end of the report made the
message that appears in the bottom of the window say 75%, but the view was
at 100%. I can use the icons at the top of the window to force it to 75%.
Other properties now set by code take effect correctly such as the
..DisplayGroupTree property.
crystalReportViewer1.DisplayGroupTree = false;
crystalReportViewer1.Zoom(75);

Finally, is the report load event the proper place for this code?

As ever, thank you for your help,

Cheers,

Bob

--
Robert Schuldenfrei
S. I. Inc.
32 Ridley Road
Dedham, MA 02026
bo*@s-i-inc.com
781/329-4828

"Kevin Yu [MSFT]" <v-****@online.microsoft.com> wrote in message
news:Oj*************@cpmsftngxa06.phx.gbl...
嗨罗伯特,
首先,我想确认一下我对你的问题的理解。从您的描述来看,我知道您有两个问题。第一个是参数屏幕出现问题。第二个是
zoom无法正常工作。如果有任何误解,请随时告诉我


我对Crystal Report不太熟悉。但根据你提供的代码,我建议你把代码行
this.crystalReportViewer1.Zoom(75);设置报告源后。 (尝试
将此行移动到Form_Load的底部。)因为设置报告源可能会刷新视图,导致Zoom无法正常工作。

我是不太清楚为什么会出现参数问题。如果你能给我一个整个项目的复制品,我会尝试调试它。谢谢!

由于Crystal Report是Business Objects的第三方产品,目前我们没有Crystal Report讨论的新闻组。除了在此处发布,您还可以查看Business Objects支持网站以获取
帮助。以下是链接:

http://support.businessobjects.com/

HTH。

Kevin Yu
=======
这个帖子是按原样提供的没有保证,也没有赋予
权利。
Hi Robert,

First of all, I would like to confirm my understanding of your issue. From
your description, I understand that you have two questions. The first is
that there is something wrong with the parameter screen. The second is zoom is not working properly. If there is any misunderstanding, please feel free to let me know.

I''m not quite familiar with Crystal Report. But based on the code you have
provided, I recommend you to put the line of code
this.crystalReportViewer1.Zoom(75); after setting the report source. (Try
to move this line to the bottom of Form_Load.) Because setting the report
source might refresh the view, which causes Zoom not working properly.

I''m not quite sure why parameter issue happens. If you could send me a
repro with whole project, I will try to debug it. Thank you!

Since Crystal Report is a third-party product by Business Objects,
currently we have no newsgroup for Crystal Report discussion. Besides
posting here, you can also check Business Objects support website for help. Here is the link:

http://support.businessobjects.com/

HTH.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."



这篇关于水晶参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆