如何获取Crystal报表中两个文本框之间的详细信息? [英] how to get details of between two textboxes in Crystal report ?
问题描述
在我的winform应用程序中,两个文本框和一个按钮是
当我输入值时我的意思是两个日期开始,并且在按下按钮后两个文本框中的日期我希望在水晶报表中显示记录。 。
i尝试了代码,但没有重定向到水晶报告..
可以任何人建议我吗? br $> b $ b
谢谢你。
亲爱的
在解决方案中创建数据集并添加表并在数据集表中根据需要创建列。
例如:您的Datset是MyDataSet,我添加了一个名为table1的表。 />
Dim rptviewer As 新 frmrReportViewer
Dim rptclass As ReportClass
尝试
Dim query As String
Dataset DS = 新 MyDataSet
Dim dt As DataTable
Dim 行 As DataRow
rptclass = 新 rptCustomerReport ' 我的报告类(水晶报告)
DS.Clear()
dt = DS.Tables( CUSTOMER)' 客户是我的表名
行= dt.NewRow
row( DATE1)= 您的第一个值
行( DATE2)= 你的第二个值
dt.Rows.Add(row)
rptclass.SetDataSource(DS)' 将Datset设置为报告
rptviewer.CrystalReportViewer1.ReportSource = rptclass ' 使用Reportviwert控件显示报告
rptviewer.ShowDialog()
Catch ex 作为例外
rptclass.SetDataSource(DS)
rptviewer.CrystalReportViewer1.ReportSource = rptclass
rptviewer.ShowDialog()
尝试:
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load( PUT CRYSTAL REPORT PATH HERE \\CrystalReport1.rpt 跨度>);
ParameterFieldDefinitions crParameterFieldDefinitions;
ParameterFieldDefinition crParameterFieldDefinition;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = TextBox1.Text;
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions.Item [ 客户名];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
CrystalReportViewer1.ReportSource = cryRpt;
CrystalReportViewer1.Refresh();
private void button1_Click(object sender,EventArgs e)
{
SqlConnection con = new SqlConnection(@Data Source = ythisbug; Initial Catalog = ythisbug; User ID = sa; Password = ******;);
con.Open();
try
{
string StartDate = textBox1.Text;
string EndDate = textBox2.Text;
SqlCommand com = new SqlCommand();
SqlDataAdapter sqlda;
DataSet ds;
string str;
com.CommandType = CommandType.StoredProcedure;
com.CommandText =usp_GetDateSales;
com.Connection = con;
SqlParameter pStartDate = new SqlParameter(@ STARTDATE,SqlDbType.DateTime);
pStartDate.Value = StartDate;
com.Parameters.Add(pStartDate);
SqlParameter pEndDate = new SqlParameter(@ ENDDATE,SqlDbType.DateTime);
pEndDate.Value = EndDate;
com.Parameters.Add(pEndDate);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(com);
da.Fill(dt);
com.Dispose();
con.Close();
sqlda = new SqlDataAdapter(com);
ds = new DataSet();
sqlda.Fill(ds,tblPurchase);
con.Close();
ReportDocument r1 = new ReportDocument();
r1.Load(@C:\ Users \admin \Documents\Visual Studio 2008 \Projects\WindowsFormsApplication1 \WindowsFormsApplication1 \Reports \CrystalReport1.rpt);
r1.SetDataSource(ds);
crystalReportViewer1.ReportSource = r1;
crystalReportViewer1.Refresh();
}
catch(例外情况)
{
}
最后
{
con.Close( );
}
}
hi in my winform application two textboxes and one button is der
when i enter value i mean two dates start and and date in two textboxes after hitting button i want to display records in crystal report..
i tried code but not redirecting to crystal report..
can any one suggest me?
thank u.
Dear
Create a dataset in your solution and add a table and create the columns as you need inside the data set table.
for eg: Your Datset is MyDataSet and I add a table called table1.
Dim rptviewer As New frmrReportViewer Dim rptclass As ReportClass Try Dim query As String Dataset DS = New MyDataSet Dim dt As DataTable Dim row As DataRow rptclass = New rptCustomerReport ' My Report Class (crystal report) DS.Clear() dt = DS.Tables("CUSTOMER") ' Customer is My Table Name row = dt.NewRow row("DATE1") ="Your First Value" row("DATE2") = "Your second Value" dt.Rows.Add(row) rptclass.SetDataSource(DS) 'Set the Datset to the report rptviewer.CrystalReportViewer1.ReportSource = rptclass ' Show the report by using a Reportviwert control rptviewer.ShowDialog() Catch ex As Exception rptclass.SetDataSource(DS) rptviewer.CrystalReportViewer1.ReportSource = rptclass rptviewer.ShowDialog()
Try:
ReportDocument cryRpt = new ReportDocument(); cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\\CrystalReport1.rpt"); ParameterFieldDefinitions crParameterFieldDefinitions; ParameterFieldDefinition crParameterFieldDefinition; ParameterValues crParameterValues = new ParameterValues(); ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue(); crParameterDiscreteValue.Value = TextBox1.Text; crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields; crParameterFieldDefinition = crParameterFieldDefinitions.Item["Customername"]; crParameterValues = crParameterFieldDefinition.CurrentValues; crParameterValues.Clear(); crParameterValues.Add(crParameterDiscreteValue); crParameterFieldDefinition.ApplyCurrentValues(crParameterValues); CrystalReportViewer1.ReportSource = cryRpt; CrystalReportViewer1.Refresh();
private void button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(@"Data Source=ythisbug;Initial Catalog=ythisbug; User ID=sa; Password=******;"); con.Open(); try { string StartDate = textBox1.Text; string EndDate = textBox2.Text; SqlCommand com = new SqlCommand(); SqlDataAdapter sqlda; DataSet ds; string str; com.CommandType = CommandType.StoredProcedure; com.CommandText = "usp_GetDateSales"; com.Connection = con; SqlParameter pStartDate = new SqlParameter("@STARTDATE", SqlDbType.DateTime); pStartDate.Value = StartDate; com.Parameters.Add(pStartDate); SqlParameter pEndDate = new SqlParameter("@ENDDATE", SqlDbType.DateTime); pEndDate.Value = EndDate; com.Parameters.Add(pEndDate); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(com); da.Fill(dt); com.Dispose(); con.Close(); sqlda = new SqlDataAdapter(com); ds = new DataSet(); sqlda.Fill(ds, "tblPurchase"); con.Close(); ReportDocument r1 = new ReportDocument(); r1.Load(@"C:\Users\admin\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Reports\CrystalReport1.rpt"); r1.SetDataSource(ds); crystalReportViewer1.ReportSource = r1; crystalReportViewer1.Refresh(); } catch(Exception ex) { } finally { con.Close(); } }
这篇关于如何获取Crystal报表中两个文本框之间的详细信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!