ورود

View Full Version : مقداردهی به text object



rahil_2008
شنبه 25 مهر 1388, 20:10 عصر
سلام دوستان
من می خواستم در هنگام ایجاد کریستال ریپورت، بعد از اینکه text object را از toolbox به قسمت report header ، اضافه کردم، کدی بنویسم که مقدار یه فیلد از جدولم را بیاره بریزه تو text object. کسی می دونه چه جوری می تونم این کارو بکنم؟

sara.f
شنبه 25 مهر 1388, 20:30 عصر
سلام دوستان
من می خواستم در هنگام ایجاد کریستال ریپورت، بعد از اینکه text object را از toolbox به قسمت report header ، اضافه کردم، کدی بنویسم که مقدار یه فیلد از جدولم را بیاره بریزه تو text object. کسی می دونه چه جوری می تونم این کارو بکنم؟
با سلام.
برای این کار بهتره از parameter fields استفاده کنی.
اینم کدش.


private void button15_Click(object sender, EventArgs e)
{
try
{
ds.Clear();
ReportDocument reportDocument = new ReportDocument();
SqlDataAdapter objadapter = new SqlDataAdapter();
objadapter.SelectCommand = new SqlCommand("select * from employee where lname=@l1 order by code", objconn);
objadapter.SelectCommand.Parameters.AddWithValue("@l1", comboBox2.Text);
objconn.Open();
objadapter.Fill(ds, "employee");
objconn.Close();
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = ".";
connectionInfo.DatabaseName = "project2";
connectionInfo.UserID = "";
connectionInfo.Password = "";
string reportPath = Application.StartupPath.Remove(Application.Startup Path.Length - 10);
reportPath += @"\CrystalReport1.rpt";
reportDocument.Load(reportPath);
reportDocument.SetDataSource(ds);
crystalReportViewer1.ReportSource = reportDocument;
reportDocument.SetParameterValue("codefield",ds.Tables["employee"].Rows[0]["code"]);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}

با این کد مقدار فیلد کد در اولین سطر را از دیتا بیس گرفته و در parameter fields به نام codefield قرار می دهد.