ورود

View Full Version : آموزش: چاپ قارداد با stimulReport



abasfar
یک شنبه 06 اسفند 1391, 21:33 عصر
با سلام
دوسان من میخوام قرار دادی با نرم افزار stimulReport بسازم
به صورتی که متن ثابت + فیلدهای متغییر

اما اینجا مشکل ،متن ثابت است که چندین صفحه است نمیدونم با چه کنترلر ی تو stimulReport درج کنم


با تشکر

aslan
دوشنبه 07 اسفند 1391, 00:57 صبح
سلام
یک روش اینه که به اندازه تعداد صفحات متن ثابت در استیمول PAGE ایجاد کنید و متن مورد نظرتون را در کنترل TEXT و در صفحه مربوط به خود قرار دهید و ..........

abasfar
دوشنبه 07 اسفند 1391, 08:21 صبح
ممنون از پاسخ شما فقط این مورد یک مشکل رو به وجود میاره

شما در نظر بگیرید اگه متن متغیر من یکبار یک کلمه باشه و دفعه بعد چندین خط باشه

تو اولین مورد نصف صفحه خالی هست و تو دومین مورد سرریز اتفاق میفته و بقیه تن نمایش پیدا نمیکنه

با تشکر

tara1367
سه شنبه 08 اسفند 1391, 10:57 صبح
با سلام
دوسان من میخوام قرار دادی با نرم افزار stimulReport بسازم
به صورتی که متن ثابت + فیلدهای متغییر

اما اینجا مشکل ،متن ثابت است که چندین صفحه است نمیدونم با چه کنترلر ی تو stimulReport درج کنم


با تشکر



سلام
ميتونيد متن ثابت رو داخل فايل word ريخته اون رو داخل پوشه محل اجراي برنامتون بذارين بعد يه متغير در گزارشتون بسازيد و محتويات فايل word رو بصورت يه رشته بفرستين حالا متغيرهاتونو با متد substring به هر كجاي رشتتون بفرستين.

private void buttonX5_Click(object sender, EventArgs e)
{
//1. Path File
object file = Application.StartupPath + @"\Name.doc";
//2. Read File
Microsoft.Office.Interop.Word.ApplicationClass wordapp = new Microsoft.Office.Interop.Word.ApplicationClass();
object nullobj = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document doc = wordapp.Documents.Open(ref file,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj); ;
///
Microsoft.Office.Interop.Word.Document doc1 = wordapp.ActiveDocument;
//3. the content is stored into the textbox.
string m_Content = doc1.Content.Text;
doc.Close(ref nullobj, ref nullobj, ref nullobj);
richTextBox1.Text = m_Content;
int u2 = m_Content.IndexOf("/") + 10;
m_Content = m_Content.Substring(0, u2) +
DGVPrintGharardad.Rows[1].Cells["Fname"].Value.ToString() + " " +
DGVPrintGharardad.Rows[1].Cells["Lname"].Value.ToString() +
m_Content.Substring(u2 + DGVPrintGharardad.Rows[1].Cells["Fname"].Value.ToString().Length);
int u3 = m_Content.IndexOf("") + 6;
m_Content = m_Content.Substring(0, u3) +
DGVPrintGharardad.Rows[1].Cells["FatherName"].Value.ToString() +
m_Content.Substring(u3 + DGVPrintGharardad.Rows[1].Cells["FatherName"].Value.ToString().Length);

int u4 = m_Content.IndexOf("") + 9;
m_Content = m_Content.Substring(0, u4) +
DGVPrintGharardad.Rows[1].Cells["IdentityNo"].Value.ToString() +
m_Content.Substring(u4 + DGVPrintGharardad.Rows[1].Cells["IdentityNo"].Value.ToString().Length);

//String Names = File.ReadAllText("c:\\Names.doc");
Frmprint fp = new Frmprint(DGVPrintGharardad.Rows[1].Cells["Fname"].Value.ToString(),
DGVPrintGharardad.Rows[1].Cells["Lname"].Value.ToString(),
DGVPrintGharardad.Rows[1].Cells["FatherName"].Value.ToString(),
DGVPrintGharardad.Rows[1].Cells["IdentityNo"].Value.ToString(),
Codes.InsertSlash(DGVPrintGharardad.Rows[1].Cells["DateAz"].Value.ToString()),
Codes.InsertSlash(DGVPrintGharardad.Rows[1].Cells["DateTa"].Value.ToString()),
m_Content);
fp.stiViewerControl1.Report = fp.stiReport1;
fp.ShowDialog();
}


stiReport1.Dictionary.Variables["V1"].Value = s;
stiReport1.Render(false);
stiReport1.Show();

sadra1234
پنج شنبه 05 اردیبهشت 1392, 12:33 عصر
دوست گرامی زحمت کشیدین
میشه در مورد این کدی گذاشتین ، توضیح هم بدین؟
متشکرم