PDA

View Full Version : سوال: ارسال مقادیر انتخابی گریدویو به استیمول سافت برای پرینت



titipop1
چهارشنبه 18 شهریور 1394, 22:46 عصر
درود دوستان
عنوان تاپیکم گویای همه چیز هست دوستان،توی تاپیک ها زیاد گشتم ولی ارسال به استیمول نبودش لطفا راهنمایی کنید
قربون مرام همتون

fa_karoon
دوشنبه 23 شهریور 1394, 11:28 صبح
سلام. نمی دونم منظورتون رو درست متوجه شدم یا نه!
ما برای اینکه یه سری مقادیر رو برای نمایش در گزارش به stimul بفرستیم از variableها استفاده می کنیم

stiReport report = new stireport();
Report.Dictionary.Variables(_VariableName).Value = _Value;

Aqeel95
پنج شنبه 26 شهریور 1394, 03:00 صبح
چه جالب
میخواستم دقیقا همچین سوالی رو مطرح کنم
------------
یکم بیشتر سوال دوستمون و سوال خودم رو توضیح میدم
فرضا اطلاعات شخصی یک نفر رو ثبت کردیم...
و توی دیتاگرید یک تعدادی ثبت شده اطلاعاتشون
حالا مثلا وقتی نفر اول رو زدیم ، اطلاعات اون شخص فقط چاپ بشن(مثلا اسم وفامیل وآدرس و .... )
واگه نفر nام انتخاب شد فقط اطلاعات اون شخص برای چاپ آماده بشه

به طور خیلی خلاصه : گزارش فقط یک سطر از دیتاگرید رو میخوام ، فقط یک سطر

پیشاپیش ممنون

fa_karoon
شنبه 28 شهریور 1394, 01:29 صبح
الگوریتم کار می تونه این شکلی باشه: یه ستون با visible = false برای idها داریم. حالا هر سطری رو که می خوای گزارش بگیری روش کلیک کن. الان datagridView.currentRow برابر سطری هست که شما انتخاب کردید(datagridView نام گرید ویوی شما خواهد بود). حالا cell مربوط به id رو بخون و به برای متغیری که در گزارشت براش ساختی بفرست. شبیه کدی که در بالا ذکر کردم

ReportArea RA = new ReportArea();
ReportSetter Setter = new ReportSetter(RA.BuyFactorReport);
Setter.Variable("FactorID", factorGridView.CurrentRow.Cells[factorIdCol.Name].Value.ToString());

من یه تابع variable نوشتم که توش اون خط کدهای پست قبلیم هست.
امیدوارم مفید واقع شده باشه

Aqeel95
دوشنبه 30 شهریور 1394, 02:23 صبح
خیلی ممنون از پاسخگوییتون ولی مشکلم حل نشد متاسفانه
1: reportArea و ReportSetter
که تعریف کردین کتابخونشون چیه!!!؟ اصلا چی هستن!!!؟

2:من الان توی گزارش گیریم با کد زیر


getNum = dataGridView1.CurrentRow.Cells["Column2"].Value.ToString();
sr.Clear();
sqlcom.CommandText = "select * from Tbl_Add where Num='" + getNum + "'";
sqlda.Fill(sr);

اطلاعات سطر انتخاب شده رو ریختم توی datatable که اسمش هست sr

(یه دیتاگرید گذاشتم و این قطعه کد درست کار میکنه و فقط یک سطر رو منتقل میکنه)

حالا وقتی این کد رو میخوام بفرستم به استیمول فقط سطر 1 رو نمایش میده(به این کاری نداره که من کدوم سطر انتخاب کردم) و وقتی dataBand گذاشتم از سطر 1 شروع میکنه تا آخر رو نمایش میده
ولی من فقط 1 سطر رو میخوام
*********
درمورد جوابی که دادین هم چون نتونستم تو برنامم اضافش کنم ، نتونستم امتحانش کنم متاسفانه
اگر راهنمایی بیشتری بکنید ممنون میشم
******
درمورد variable هم من کلا یه دونه ساختم برای تاریخ شمسی و کاملا سالم کار میکنه و این کدشه:


String now = pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now);
StiVariable sv = new StiVariable("Date", "shamsidate", typeof(string), now, false);
stiReport1.Dictionary.Variables.Add(sv);

ژیار رحیمی
دوشنبه 30 شهریور 1394, 02:46 صبح
دوست گرامی کدهاتو بزار تا راهنمایی لازم صورت گیرد

Aqeel95
دوشنبه 30 شهریور 1394, 20:34 عصر
دوست گرامی کدهاتو بزار تا راهنمایی لازم صورت گیرد

کدهای مربوط به گزارش از استیمول رو که گذاشتم
کد کدوم قسمت مدنظرتونه!!؟ امر کنید که بزارم

Aqeel95
سه شنبه 31 شهریور 1394, 19:33 عصر
همچنان منتظر پاسخ گویی اساتید گرام هستم

fa_karoon
شنبه 25 مهر 1394, 12:26 عصر
اگر طبق روش من بخواید جلو برید باید یه متغیر برای IDمی ساختید تو گزارش تون بعد IDای که از دیتا گرید می گیرید رو با دستور set کردن variable، پاس می دادید به گزارش. بعد یه select تو گزارش تون می نوشتید که اون سطری از جدول تون رو بیاره که IDاش برابر مقدار این variable هست.


--------------------
اگر مشکل تون حل نشده و هنوز نیاز به توضیح دارید بگید تا بیشتر شرح بدم