سلام
می خوام گزارش پویا درست کنم به صورتی که کاربر خودش گزارش را طراحی کنه اگر کسی بتواند کمکم کند ممنون می شم.
سلام
می خوام گزارش پویا درست کنم به صورتی که کاربر خودش گزارش را طراحی کنه اگر کسی بتواند کمکم کند ممنون می شم.
اینم یه مثال از گزارش گیری پویا
استخدام برنامه نویس دات نت (Asp.net,C#,jquery,...)
ترجیحا خراسان شمالی ، بجنورد
به صورت پاره وقت و تمام وقت
ارسال اطلاعات و رزومه کاری به Job@tosa.ir
می توانم بپرسم کجای stimulReport به ما امکان گزارشگیری پویا را می دهد؟
یعنی آیا کامپاننتی (از نوع ویزاردی اش بهتر است) دارد که شما به برنامه تان اضافه کنید تا کاربرتان بتواند بدون داشتن اطلاعات چندانی از دیتابیس, صرفاً با انتخاب چند فیلد (ترجیحاً از روی یک view) و چند شرط یک گزارش داشته باشد و بتواند این گزارش را customize کند.
اگر Net. نمی دانید وارد نشوید.
لطف ميكنين يه نمونه بزارين ....اون مدلي كه کل محیط دیزاینر کاملاً فارسی میشه
ممنون
منم خیلی احتیاج دارم به فارسی بودنشلطف ميكنين يه نمونه بزارين ....اون مدلي كه کل محیط دیزاینر کاملاً فارسی میشه
من سوالم رو در محیط # c مطرح کردم این فایلی که شما در اختیارمون گذاشتید نمی دونم با چه زبانی است که روی کامپیوتر من بصورت فایل ناشناس است لطفا اگرمیشه برنامه به صورت # C در اختیارمون بگذارید.
سلام
فارسی شدن محیط دیزاینر:
فایل xml رو در مسیر نصب برنامه پیدا کنید
StiConfig.LoadLocalization(Application.StartupPath + @"\fa.xml");
stiPreviewControl1.Localize();
ورود به دیزاینر:
stiReport1.Design();
از چه نسخه ای استفاده میکنید؟ (خریدید؟)
آخرین ویرایش به وسیله Mrs.Net : پنج شنبه 20 تیر 1387 در 21:33 عصر
گویا رفقا یه مثال اینجا ارایه داده بودند که الان نیست .من دنبال یه مثال میگردم که شیوه کار رو متوجه بشوم
چه طوری کاربرمحیط دیزاین رو میبینه و تعداد فیلدها رو خودش انتخاب میکنه ؟یه مثال خیلی ساده برام کافیه.ممنون
تو لینک زیر می تونین یه sample از گزارش پویا رو دانلود کنید :
http://irandevelopers.net/showthread.php?tid=65
[/CODE]
ورود به دیزاینر:
[/QUOTE]
stiReport1.Design();
این کد رو باید تو رخداد butten نوشت؟ تو تحت ویندوز هم همینه؟
شما می توانید از گزارش ساز پویا همراهان نیک پندار استفاده کنید
امکانات نرم افزار
رابط کاربری
• رابط کاربری بسیار ساده و جذاب (کاملا بصری)
• قابلیت ترجمه خودکار (توسط سرویس گوگل) فیلدهای بانک اطلاعاتی جهت سهولت استفاده
• امکان ساخت گزارش برای افراد غیر متخصص در زمینه بانک اطلاعاتی (بدون نیاز به دانش 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
pdf راهنمای گزارش ساز همراهان رو دیدم ، به نظر میرسه که گزارش ساز خوبیه ، قیمتش هم بد نیست فقط کاش نسخه دمو داشت که تستش کنم...
به سایت learnfiles.com سر بزنید و آموزشهای StimulSoft رو ببینید . در این مورد دو مثال جالب داره
سلام
اینطوری که dynamic نمی شه دوست عزیز اگه کاربر بخواد چند ستون رو تیک بزنه و بعد نسبت به ستون های انتخابی ریپورت براش ساخته بشه چیکار می کنید؟
مثل خیلی از نرم افزار های حسابداری و... که این کار رو انجام میدن!!!!
اون چیزی که شما فرمودید برای ساختن یک report generator که جدا از برنامه کار میکنه خیلی مفیده بنظر من کاربر ستون رو تیک بزنه و بعد نسبت به ستون های انتخابی ریپورت براش ساخته بشه میشه گفت dynamic هست.
برای این کارم لازمه runtime گزارشتون رو بسازید.
با تشکر
فقط یه دیتاتیبل بدین
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();
}
سلام ممنون این درسته ولی با این روش آیا میشه از امکانات استیمول مثل pagenumber , functions , line ,... استفاده کرد؟
اگر شما از امکاناتش با این روش استفاده کردید توضیح بفرمایید ممنون میشم
حتما میشه
مهندس گزاشتن یه نمونه برنامه براتون مقدور هست؟
پیدا کردم
کافی یه تابع
StiPageFooterBand FooterBand1 = new StiPageFooterBand();
مثل
StiHeaderBand headerBand = new StiHeaderBand();
تعریف کنید و خاصیت Text اونو بزاری
StiText1.Text.Value = "{PageNofM}";
یه نمونه کد واسه اضافه کردن لاین هم بزار لطفا