PDA

View Full Version : ساخت گزارش ساز پویا



mona_z
شنبه 25 خرداد 1387, 19:20 عصر
سلام
می خوام گزارش پویا درست کنم به صورتی که کاربر خودش گزارش را طراحی کنه اگر کسی بتواند کمکم کند ممنون می شم.

مهدی رحیم زاده
شنبه 25 خرداد 1387, 22:43 عصر
اینم یه مثال از گزارش گیری پویا

gdevnb
شنبه 25 خرداد 1387, 23:13 عصر
سلام
http://www.stimulsoft.com

رضا عربلو
شنبه 25 خرداد 1387, 23:32 عصر
می توانم بپرسم کجای stimulReport به ما امکان گزارشگیری پویا را می دهد؟
یعنی آیا کامپاننتی (از نوع ویزاردی اش بهتر است) دارد که شما به برنامه تان اضافه کنید تا کاربرتان بتواند بدون داشتن اطلاعات چندانی از دیتابیس, صرفاً با انتخاب چند فیلد (ترجیحاً از روی یک view) و چند شرط یک گزارش داشته باشد و بتواند این گزارش را customize کند.

linux
شنبه 25 خرداد 1387, 23:56 عصر
می توانم بپرسم کجای stimulReport به ما امکان گزارشگیری پویا را می دهد؟
یعنی آیا کامپاننتی (از نوع ویزاردی اش بهتر است) دارد که شما به برنامه تان اضافه کنید تا کاربرتان بتواند بدون داشتن اطلاعات چندانی از دیتابیس, صرفاً با انتخاب چند فیلد (ترجیحاً از روی یک view) و چند شرط یک گزارش داشته باشد و بتواند این گزارش را customize کند.
شما دقیقا همان فرمی که در زمان طراحی برنامه دارید را در اختیار کاربر می گذارید.

gdevnb
یک شنبه 26 خرداد 1387, 09:06 صبح
می توانم بپرسم کجای stimulReport به ما امکان گزارشگیری پویا را می دهد؟
یعنی آیا کامپاننتی (از نوع ویزاردی اش بهتر است) دارد که شما به برنامه تان اضافه کنید تا کاربرتان بتواند بدون داشتن اطلاعات چندانی از دیتابیس, صرفاً با انتخاب چند فیلد (ترجیحاً از روی یک view) و چند شرط یک گزارش داشته باشد و بتواند این گزارش را customize کند.
احتیاج به کمپوننت نیست.با یه خط کد گزارش به حالت دیزاینر می ره.کاربر به ساده ترین شکل ممکن می تونه انو Customize کنه.لازم به ذکره که کل محیط دیزاینر کاملاً فارسی میشه.(برای این حالت باید کد بنویسد)اگه لازمه کداشو بزارم؟
البته دموی خودش کاملاً گویاست یه بررسی کنید.

combo_ci
یک شنبه 26 خرداد 1387, 12:51 عصر
لطف ميكنين يه نمونه بزارين ....اون مدلي كه کل محیط دیزاینر کاملاً فارسی میشه
ممنون

Mrs.Net
یک شنبه 26 خرداد 1387, 19:03 عصر
لطف ميكنين يه نمونه بزارين ....اون مدلي كه کل محیط دیزاینر کاملاً فارسی میشه
منم خیلی احتیاج دارم به فارسی بودنش

mona_z
یک شنبه 26 خرداد 1387, 21:04 عصر
من سوالم رو در محیط # c مطرح کردم این فایلی که شما در اختیارمون گذاشتید نمی دونم با چه زبانی است که روی کامپیوتر من بصورت فایل ناشناس است لطفا اگرمیشه برنامه به صورت # C در اختیارمون بگذارید.

gdevnb
یک شنبه 26 خرداد 1387, 22:29 عصر
سلام
فارسی شدن محیط دیزاینر:
فایل xml رو در مسیر نصب برنامه پیدا کنید



StiConfig.LoadLocalization(Application.StartupPath + @"\fa.xml");
stiPreviewControl1.Localize();


ورود به دیزاینر:


stiReport1.Design();

gdevnb
دوشنبه 27 خرداد 1387, 09:41 صبح
شما دقیقا همان فرمی که در زمان طراحی برنامه دارید را در اختیار کاربر می گذارید.
سلام
البته ممکنه بخواید بعضی اطلاعات توسط کاربر قابل تغییر نباشه مثل کپی رایت یا مثلاً تبلیغات این رو هم در نظر بگیرید که برای جلوگیری از این دسترسی ها ابزارهایی در Stimul وجود داره.

Mrs.Net
پنج شنبه 20 تیر 1387, 20:21 عصر
از چه نسخه ای استفاده میکنید؟ (خریدید؟)

gdevnb
جمعه 21 تیر 1387, 01:46 صبح
ورژن 2008.04.14 (خیر)

shocraneh
چهارشنبه 14 مهر 1389, 08:56 صبح
گویا رفقا یه مثال اینجا ارایه داده بودند که الان نیست .من دنبال یه مثال میگردم که شیوه کار رو متوجه بشوم
چه طوری کاربرمحیط دیزاین رو میبینه و تعداد فیلدها رو خودش انتخاب میکنه ؟یه مثال خیلی ساده برام کافیه.ممنون

mohamad68
چهارشنبه 14 مهر 1389, 15:31 عصر
تو لینک زیر می تونین یه sample از گزارش پویا رو دانلود کنید : :لبخندساده:
http://irandevelopers.net/showthread.php?tid=65

mhdhp86
دوشنبه 27 شهریور 1391, 11:58 صبح
[/CODE]
ورود به دیزاینر:


stiReport1.Design();
[/QUOTE]
این کد رو باید تو رخداد butten نوشت؟ تو تحت ویندوز هم همینه؟

javidp
سه شنبه 21 مرداد 1393, 10:22 صبح
شما می توانید از گزارش ساز پویا همراهان نیک پندار استفاده کنید

امکانات نرم افزار

رابط کاربری
• رابط کاربری بسیار ساده و جذاب (کاملا بصری)
• قابلیت ترجمه خودکار (توسط سرویس گوگل) فیلدهای بانک اطلاعاتی جهت سهولت استفاده
• امکان ساخت گزارش برای افراد غیر متخصص در زمینه بانک اطلاعاتی (بدون نیاز به دانش SQL)
• رابط کاربری چند زبانه

خروجی ها
• امکان ذخیره گزارش ها به صورت فایل Xps, PDF, CSV, Text, Image, HTML, XLS, XLSX
• امکان بازنگری گزارش قبل از چاپ به صورت صفحه به صفحه
• امکان ارسال خروجی کلیه گزارشها به محیط Excel
• امکان تغییر کامل نحوه نمایش اطلاعات در گزارش با ابزارهای قدرتمند ویرایشگر(جدول - نمودار - گیج - ماتریسی)
• امکان ایجاد الگوی عمومی فرم چاپی جهت پرهیز از طراحی فرم چاپی
• امکان چاپ بارکد
• امکان ویرایش فرم چاپی قبل از چاپ
• امکان استفاده از طراح نمودار و استفاده از ده ها نوع نمودار (میله ای ، دایره ای ، 3 بعدی ، ...)

مدیریت کاربران
• امکان تعریف گروههای کاربری در نرم افزار
• امکان تعریف کاربران و مدیریت آن ها و تعیین سطح دستری آن ها به گزارشات مختلف
• کنترل دسترسی کاربران با ارتباط مکانیزه با سامانه Active Directory شرکت
• امکان یکپارچه شدن با نرم افزار شرکتهای تولید کننده نرم افزار
• امکان ایجاد گزارش در 3 سطح (سیستم - شرکت – کاربر)

ویژگیهای بارز
• قابلیت اتصال به پایگاه های اطلاعاتی مختلف از جمله ... SQL, Oracle, Access, Foxpro, Excel, Text File
• امکان تعیین جداول و فیلدهایی که کاربران امکان ساخت گزارش از آنها را دارند.
• امکان تهیه گزارش های مرتبط با نرم افزار کاربردی دلخواه به صورت پارامتریک و با استفاده از کلیه فیلدهای اطلاعاتی بدون محدودیت
• امکان تهیه گزارش از محتویات کلیه فرمهای کاربردی
• امکان import/export گزارش ها و تهیه نسخه پشتیبان از آنها
• امکان استفاده از گزارش های صفحه گسترده جهت گزارش های خاص
• امکان تهیه گزارش های آماری و مدیریتی
• امکان تعریف سطوح گزارش و برقراری ارتباط بین آنها جهت نمایش جزء به کل و کل به جزء (Drill Down, Drill Up)
• امکان تعریف زیر پرس و جو و استفاده از آن در سطوح بالاتر
• امکان تعریف فیلترهای مختلف (با توجه به فیلدهای اطلاعاتی موجود در جداول) برای هر گزارش بصورت مجزا
• امکان غیر فعال سازی فیلترها در لحظه استفاده از گزارش
• امکان ایجاد جمع لحظه ای برای گزارشاتی که مقدار هر ردیف براساس مقادیر ردیفهای قبل بدست می آید.
• امکان برقراری ارتباط بین جداول مختلف حتی در سطح بانک های اطلاعاتی مختلف (Join)
• امکان تعریف قابلیت مرتب سازی برای ستون خاصی در گزارش
• امکان فرمول نویسی واستفاده از عملگرهای قدرتمند ریاضی
• امکان افزودن ستون شماره ردیف
• امکان گروهبندی و انجام عملیات تجمیعی مانند جمع ، میانگین ، بزرگترین ، کوچکترین
• امکان انجام عملیات اجتماع چندین زیر پرس و جو با هم (Union)
• امکان استفاده از ده ها فانکشن تعبیه شده در بانک اطلاعاتی جهت تبدیل داده هایی مانند تاریخ و ساعت و تبدیل عدد به حرف
• امکان تعریف سربرگ با قابلیت انتخاب نوع و اندازه فونت جهت گزارشات
• امکان ایجاد گزارش از گزارشهای ایجاد شده قبلی
• امکان بروز رسانی خودکار گزارش در صورت تغییر داده ها در جداول مرتبط
• امکان تست هر زیر پرس و جو جهت عیب یابی گزارش

خدمات خاص نرم افزارهای همراهان
• امکان بهره گیری از صدها عنوان گزارش آماده به تفکیک زیر سیستم های مختلف
• امکان ذخیره هر یک ازگزارش های آماده با عنوان دلخواه و انجام تغییرات مورد نظر
• امکان ایجاد میانبر از گزارش به منوی اصلی برنامه و میز کار
• امکان مرتبط کردن گزارش‌ها با فرم‌های اصلی سیستم‌ها و همچنین فرم‌های ساخته شده در فرم ساز
• امکان افزودن متغیر های سیستمی به گزارش ساز جهت استفاده در شروط گزارش
• ارایه کنترلهای نمایشگر گزارشات جهت استفاده در نرم افزارهای ثانویه
• امکان چاپ گزارش‌های مرتبط شده به فرم‌ها بدون نیاز به اعمال فیلتر

http://hnp.co.ir

javidp
شنبه 25 مرداد 1393, 10:00 صبح
pdf راهنمای گزارش ساز همراهان رو دیدم ، به نظر میرسه که گزارش ساز خوبیه ، قیمتش هم بد نیست فقط کاش نسخه دمو داشت که تستش کنم...

vb341
چهارشنبه 29 مرداد 1393, 20:11 عصر
به سایت learnfiles.com سر بزنید و آموزشهای StimulSoft رو ببینید . در این مورد دو مثال جالب داره

Mohsen229266
سه شنبه 11 شهریور 1393, 11:46 صبح
شما دقیقا همان فرمی که در زمان طراحی برنامه دارید را در اختیار کاربر می گذارید.

سلام
اینطوری که dynamic نمی شه دوست عزیز اگه کاربر بخواد چند ستون رو تیک بزنه و بعد نسبت به ستون های انتخابی ریپورت براش ساخته بشه چیکار می کنید؟

مثل خیلی از نرم افزار های حسابداری و... که این کار رو انجام میدن!!!!
اون چیزی که شما فرمودید برای ساختن یک report generator که جدا از برنامه کار میکنه خیلی مفیده بنظر من کاربر ستون رو تیک بزنه و بعد نسبت به ستون های انتخابی ریپورت براش ساخته بشه میشه گفت dynamic هست.
برای این کارم لازمه runtime گزارشتون رو بسازید.
با تشکر

fakhravari
سه شنبه 11 شهریور 1393, 16:40 عصر
فقط یه دیتاتیبل بدین
private void PrintTable(DataTable data) {
StiReport report = new StiReport();


//Add data to datastore
report.RegData("data", data);


//Fill dictionary
report.Dictionary.Synchronize();
report.Dictionary.DataSources[0].Name = "data";
report.Dictionary.DataSources[0].Alias = "data";


StiPage page = report.Pages[0];


//Create HeaderBand
StiHeaderBand headerBand = new StiHeaderBand();
headerBand.Height = 0.5;
headerBand.Name = "HeaderBand";
page.Components.Add(headerBand);


//Create Databand
StiDataBand dataBand = new StiDataBand();
dataBand.DataSourceName = "data";
dataBand.Height = 0.5;
dataBand.Name = "DataBand";
page.Components.Add(dataBand);


//Create texts
double pos = 0;


double columnWidth = StiAlignValue.AlignToMinGrid(page.Width / data.Columns.Count, 0.1, true);


int nameIndex = 1;


foreach (DataColumn dataColumn in data.Columns)
{


//Create text on header
StiText headerText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5));
headerText.Text.Value = dataColumn.Caption;
headerText.HorAlignment = StiTextHorAlignment.Center;
headerText.VertAlignment = StiVertAlignment.Center;


headerText.Name = "HeaderText" + nameIndex.ToString();
headerText.Brush = new StiSolidBrush(Color.WhiteSmoke);
headerText.Border.Side = StiBorderSides.All;
headerBand.Components.Add(headerText);


//Create text on Data Band
StiText dataText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5));
dataText.Text.Value = "{data." + Stimulsoft.Report.CodeDom.StiCodeDomSerializator.R eplaceSymbols(dataColumn.ColumnName) + "}";
dataText.Name = "DataText" + nameIndex.ToString();
dataText.Border.Side = StiBorderSides.All;
dataText.HorAlignment = StiTextHorAlignment.Center;




StiCondition condition = new StiCondition();


condition.BackColor = Color.White;
condition.TextColor = Color.Black;
condition.Expression = "(Line & 1) == 1";
condition.Item = StiFilterItem.Expression;
dataText.Conditions.Add(condition);


dataBand.Components.Add(dataText);


pos = pos + columnWidth;


nameIndex++;
}


//Create FooterBand
StiFooterBand footerBand = new StiFooterBand();
footerBand.Height = 0.5;
footerBand.Name = "FooterBand";
page.Components.Add(footerBand);






//Render without progress bar
report.Render(false);
report.Show();
}

Mohsen229266
چهارشنبه 12 شهریور 1393, 10:32 صبح
سلام ممنون این درسته ولی با این روش آیا میشه از امکانات استیمول مثل pagenumber , functions , line ,... استفاده کرد؟

Mohsen229266
چهارشنبه 12 شهریور 1393, 10:48 صبح
اگر شما از امکاناتش با این روش استفاده کردید توضیح بفرمایید ممنون میشم

fakhravari
چهارشنبه 12 شهریور 1393, 14:30 عصر
حتما میشه:چشمک:

Mohsen229266
شنبه 15 شهریور 1393, 10:04 صبح
حتما میشه:چشمک:

لطف میفرمایید یه نمونه برنامه بزارید که فقط PageNumber رو داشته باشه:متفکر:
البته با روش بالا که خودتون کدشو کذاشتید

Mohsen229266
یک شنبه 16 شهریور 1393, 10:42 صبح
مهندس گزاشتن یه نمونه برنامه براتون مقدور هست؟

fakhravari
یک شنبه 16 شهریور 1393, 10:47 صبح
مهندس گزاشتن یه نمونه برنامه براتون مقدور هست؟
سلام
باشه در اولین فرصت

Mohsen229266
یک شنبه 16 شهریور 1393, 14:09 عصر
پیدا کردم:چشمک:

fakhravari
چهارشنبه 19 شهریور 1393, 13:05 عصر
پیدا کردم:چشمک:
:بامزه: پس هیچ

ghasem110deh
چهارشنبه 19 شهریور 1393, 15:33 عصر
:بامزه: پس هیچ

سلام ... هیچی پیدا نکردیم هیچ !
هر چی میگردم بیشتر گیج میشم !
لطف کنین اون نمونه رو واسه ما بزارین :)

fakhravari
چهارشنبه 19 شهریور 1393, 18:45 عصر
کافی یه تابع
StiPageFooterBand FooterBand1 = new StiPageFooterBand();
مثل
StiHeaderBand headerBand = new StiHeaderBand();
تعریف کنید و خاصیت Text اونو بزاری
StiText1.Text.Value = "{PageNofM}";

Mohsen229266
شنبه 22 شهریور 1393, 15:20 عصر
یه نمونه کد واسه اضافه کردن لاین هم بزار لطفا

fakhravari
شنبه 22 شهریور 1393, 16:30 عصر
یه نمونه کد واسه اضافه کردن لاین هم بزار لطفا
یک کپی foreach (DataColumn dataColumn in data.Columns) لازم داریم
کپی داخل if (nameIndex == 1)
{
بعد این 2 خط تغیر بدین
dataText1.Text.Value = "{Line}";
dataText1.Name = "Line" + nameIndex.ToString();