نمایش نتایج 1 تا 27 از 27

نام تاپیک: ایجاد گزارش از ترکیب سه جدول

  1. #1

    Question ایجاد گزارش از ترکیب سه جدول

    سلام خدمت دوستان
    من سه تا جدول بصورت شکل زیر دارم که می خوام خروجی گزارشم بصورت تصویر دوم باشه چکار باید کنم تو گزارش باید انجام بدم یا در بانک اطلاعاتی..؟
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار juza66
    تاریخ عضویت
    دی 1389
    محل زندگی
    هفت تپه - 7hill
    پست
    798

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    سلام

    نمیدونم گزارشت رو با چی درست میکنی

    ولی با استیمول سافت میتونی، یک دیتاست تویی استیمول بسازی با فیلد هر سه تیبل، و تویی سی شارپ جداولت رو join کنی و یک دیتاتیبل بسازی پاسشون بدی به دیتاتیبلت و موقعی که چاپ میزنی دیتاتیبلت رو پاس بدی به چاپت. به همین سادگی


    موفق و پیروز

  3. #3

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    ممنون دوست عزیز
    با استیمول میخوام انجام بدم.
    مشکل من اینه که میخوام تعداد ستون های گزارش متغییر باشه یعنی ممکن تو یکگزارش سه ستون و در گزارش دیگه دو 5 ستون داشته باشم.
    و همچنین میخوام سرفصل ستون های گزارشم از جدول کد باشه باید چکار کنم..؟

  4. #4

    نقل قول: ایجاد گزارش از ترکیب سه جدول


  5. #5
    کاربر دائمی آواتار omid nasri
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران - کارگر شمالی
    پست
    385

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    اگر بخوام خیلی راحت جواب بدم و به نتیجه برسی، اگر داری از استیمول سافت استفاده میکنی این امکان برای شما مقدر است که از طرف برنامه Business Objects ارسال کنید، در این مورد می‌توان به نوع مدل ارسالی خروجی متفاوت هم داشته باشی با Type مشخص.

  6. #6

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط omid nasri مشاهده تاپیک
    اگر بخوام خیلی راحت جواب بدم و به نتیجه برسی، اگر داری از استیمول سافت استفاده میکنی این امکان برای شما مقدر است که از طرف برنامه Business Objects ارسال کنید، در این مورد می‌توان به نوع مدل ارسالی خروجی متفاوت هم داشته باشی با Type مشخص.
    ممنون
    میتونید بیشتر توضیح بدید یا نمونه بزارید...

  7. #7

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    در کل راه های زیادی وجود داره اما بهترین کار (به نظر من) داخل sql یه View بسازید و جداول و فیلدهای دلخواهتون رو انتخاب کنید (تبدیل به یه جدول شخصی سازی شده میشه) در نهایت توی گزارش این ویو رو فراخوانی کنید

  8. #8
    کاربر دائمی آواتار omid nasri
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران - کارگر شمالی
    پست
    385

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط hosseines مشاهده تاپیک
    ممنون
    میتونید بیشتر توضیح بدید یا نمونه بزارید...
    یک نمونه که استفاده شده است:
    کافیست همین روال رو برای دسکتاپ پیاده سازی کنید.

  9. #9

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط reza_ali202000 مشاهده تاپیک
    با کد زیر تونستم تقریبا به جواب برسم


    DECLARE @cols AS NVARCHAR(MAX)='';
    DECLARE @query AS NVARCHAR(MAX)='';

    SELECT @cols = @cols + QUOTENAME(NameF) + ',' FROM (select distinct NameF from Table_1 where IDsanad=1 ) as tmp
    select @cols = substring(@cols, 0, len(@cols))

    set @query =
    'SELECT * from
    (
    select NameF, NameM, Mablagh from Table_1
    ) src
    pivot
    (
    Sum(Mablagh) for NameF in (' + @cols + ')
    ) piv'

    execute(@query)

    1.png

    دو تا مشکل دارم
    اول اینکه می خوام بجای مقادیر null مقدار صفر نمایش داده بشه
    دوم میخوام یه ستون داشته باشم که جمع هر ردیف رو نمایش بده

    باید چکار کنم..؟

  10. #10

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    با این طراحی عملا دو جدول قسمت و کد بدون استفاده خواهند ماند و جدول سند هم دارای افزونگی داده خواهد شد. برای نرمال سازی جدول سند، به جای NameM باید آیدی قسمت و به جای NameF باید آیدی جدول کد به عنوان کلید خارجی استفاده شوند.
    از فانکشن ISNULL میتونید برای تبدیل مقدار NULL به مقدار مورد نظر خودتون(در اینجا صفر) استفاده کنید.
    برای تبدیل مقادیر null به صفر باید سطرهایی تولید کنید که مبلغ اونها null باشد. هر سطر جدول کد با تمام سطرهای جدول قسمت ترکیب شوند برای این کار میتونید آیدی جدول کد و آیدی جدول قسمت رو با هم به صورت دکارتی ترکیب کنید(Cross join) و بعد ، از حاصل آن در join با جدول سند استفاده کنید(left join). حاصل رو برای بدست آوردن نام هر آیدی با دو جدول دیگر join میکنید


    برای بدست آوردن مجموع سطر و ستون هم در لینک زیر یک مثال خوب هست
    http://stackoverflow.com/a/28233641

  11. #11

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    ممنون دوست عزیز مشکلم حل شد.
    ولی حالا میخوام اطلاعات را بفرستم استیمول برای گزارش چکار کنم البته باید در نظر بگیریم که تعداد ستون ها متغییر می باشد ممکن است 5 ستون باشد یا 10 ستون

  12. #12
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    شبیه این عبارت رو توی همین سایت سرچ کن . نمونه هست. قبلا دیدم :
    ایجاد گزارش پویا با استیمول

    این هم نتایج تحقیقات چند وقت قبل بنده :
    http://s2.picofile.com/file/82642731...eport.rar.html

  13. #13

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط rahmatipoor مشاهده تاپیک
    شبیه این عبارت رو توی همین سایت سرچ کن . نمونه هست. قبلا دیدم : ایجاد گزارش پویا با استیمول این هم نتایج تحقیقات چند وقت قبل بنده : http://s2.picofile.com/file/82642731...eport.rar.html
    ممنون دوست عزیز ولی امکان دانلود فایل وجود ندارد

  14. #14

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    همونطور که دوستان گفتن شما ابتدا یک View با استفاده از سه جدول طراحی کنید و بعد از گزارش نوع Cross Tab در استیمول استفاده کنید

  15. #15

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط vb341 مشاهده تاپیک
    همونطور که دوستان گفتن شما ابتدا یک View با استفاده از سه جدول طراحی کنید و بعد از گزارش نوع Cross Tab در استیمول استفاده کنید
    دوست عزیز من اطلاعاتی که می خواهم رو در دیتاگرید تونستم نمایش بدم الان میخوام که بفرستم به استیمول برای چاپ و مشکلم اینجاست که تعداد ستون ها متغییر می باشد...

  16. #16

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط hosseines مشاهده تاپیک
    ممنون دوست عزیز مشکلم حل شد.
    ولی حالا میخوام اطلاعات را بفرستم استیمول برای گزارش چکار کنم البته باید در نظر بگیریم که تعداد ستون ها متغییر می باشد ممکن است 5 ستون باشد یا 10 ستون
    نظرم اینه که بیاری توی دیتاگریدویو و بعد با ریپورت ویور چاپش کنی. اتفاقا کلاسهای اماده زیادی در این رابطه هست.
    print datagridview

  17. #17
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    یه کلاس به پروژه ات اضافه کن و اسم اون رو ReportGenerator بذار و کدهای زیر رو توی اون کپی کن .
    فقط بعد از کپی کدها namespace اون رو عوض کن

    using System;
    using System.Data;
    using System.Drawing;
    using Stimulsoft.Base;
    using Stimulsoft.Base.Drawing;
    using Stimulsoft.Report;
    using Stimulsoft.Report.Components;
    using Stimulsoft.Report.Export;

    namespace Daftar_Rahnama
    {
    internal class ReportGenerator
    {
    StiPageOrientation _PageOrientation;
    string _ReportTitle;
    StiBorder _PageBorder;
    StiBorder _ReportTitleBorder;
    double _ReportTitleHeight;
    StiTextHorAlignment _ReportTitleHorAlignment;
    StiVertAlignment _ReportTitleVertAlignment;
    Font _ReportTitleFont;
    double _HeaderBandHeight;
    StiBorder _HeaderBandBorder;
    double _DataBandHeight;
    StiBorder _DataBandBorder;
    bool _DataBandCanGrow;
    StiTextHorAlignment _HeaderColumnsHorAlignment;
    StiVertAlignment _HeaderColumnsVertAlignment;
    StiBrush _HeaderColumnsBrush;
    StiBorderSides _HeaderColumnsBorderSide;
    Font _HeaderColumnsFont;
    StiTextHorAlignment _DataTextHorAlignment;
    StiVertAlignment _DataTextVertAlignment;
    StiBorderSides _DataTextBorderSides;
    Font _DataTextFont;
    bool _DataTextWordWrap;
    StiBrush _FooterBandBrush;
    string _FooterTextValue;
    StiTextHorAlignment _FooterTextHorAlignment;
    StiVertAlignment _FooterTextVertAlignment;
    StiBrush _FooterTextBrush;
    Font _FooterTextFont;
    StiBorder _FooterTextBorder;

    public ReportGenerator()
    {
    PageOrientation = StiPageOrientation.Landscape;

    PageBorder = new StiBorder(StiBorderSides.All, Color.Black, 1, StiPenStyle.None);

    ReportTitleBorder = new StiBorder(StiBorderSides.All, Color.Black, 1, StiPenStyle.None);
    ReportTitleHeight = 1.5f;
    ReportTitleHorAlignment = StiTextHorAlignment.Center;
    ReportTitleVertAlignment = StiVertAlignment.Center;
    ReportTitleFont = new Font("B Mitra", 20f);

    HeaderBandHeight = 0.5f;
    HeaderBandBorder = new StiBorder(StiBorderSides.All, Color.Black, 1, StiPenStyle.Solid);

    DataBandHeight = 0.5f;
    DataBandBorder = new StiBorder(StiBorderSides.Left, Color.Black, 1, StiPenStyle.Solid);
    DataBandCanGrow = true;

    HeaderColumnsHorAlignment = StiTextHorAlignment.Center;
    HeaderColumnsVertAlignment = StiVertAlignment.Center;
    HeaderColumnsBrush = new StiSolidBrush(Color.Wheat);
    HeaderColumnsBorderSide = StiBorderSides.All;
    HeaderColumnsFont = new Font("Tahoma", 8f,FontStyle.Bold);

    DataTextHorAlignment = StiTextHorAlignment.Center;
    DataTextVertAlignment = StiVertAlignment.Center;
    DataTextBorderSides = StiBorderSides.All;
    DataTextFont = new Font("Tahoma", 8f);
    DataTextWordWrap = true;

    FooterBandBrush = new StiSolidBrush(Color.WhiteSmoke);

    FooterTextValue = "تعداد رکوردهای چاپ شده: {Count()}";
    FooterTextHorAlignment = StiTextHorAlignment.Right;
    FooterTextVertAlignment = StiVertAlignment.Center;
    FooterTextBrush = new StiSolidBrush(Color.WhiteSmoke);
    FooterTextFont = new Font("Tahoma", 8f);
    FooterTextBorder = new StiBorder(StiBorderSides.All, Color.Black, 1, StiPenStyle.Solid);
    }


    public StiPageOrientation PageOrientation { get { return _PageOrientation; } set { _PageOrientation = value; } }
    public string ReportTitle { get { return _ReportTitle; } set { _ReportTitle = value; } }
    public StiBorder PageBorder { get { return _PageBorder; } set { _PageBorder = value; } }
    public StiBorder ReportTitleBorder { get { return _ReportTitleBorder; } set { _ReportTitleBorder = value; } }
    public double ReportTitleHeight { get { return _ReportTitleHeight; } set { _ReportTitleHeight = value; } }
    public StiTextHorAlignment ReportTitleHorAlignment { get { return _ReportTitleHorAlignment; } set { _ReportTitleHorAlignment = value; } }
    public StiVertAlignment ReportTitleVertAlignment { get { return _ReportTitleVertAlignment; } set { _ReportTitleVertAlignment = value; } }
    public Font ReportTitleFont { get { return _ReportTitleFont; } set { _ReportTitleFont = value; } }
    public double HeaderBandHeight { get { return _HeaderBandHeight; } set { _HeaderBandHeight = value; } }
    public StiBorder HeaderBandBorder { get { return _HeaderBandBorder; } set { _HeaderBandBorder = value; } }
    public double DataBandHeight { get { return _DataBandHeight; } set { _DataBandHeight = value; } }
    public StiBorder DataBandBorder { get { return _DataBandBorder; } set { _DataBandBorder = value; } }
    public bool DataBandCanGrow { get { return _DataBandCanGrow; } set { _DataBandCanGrow = value; } }
    public StiTextHorAlignment HeaderColumnsHorAlignment { get { return _HeaderColumnsHorAlignment; } set { _HeaderColumnsHorAlignment = value; } }
    public StiVertAlignment HeaderColumnsVertAlignment { get { return _HeaderColumnsVertAlignment; } set { _HeaderColumnsVertAlignment = value; } }
    public StiBrush HeaderColumnsBrush { get { return _HeaderColumnsBrush; } set { _HeaderColumnsBrush = value; } }
    public StiBorderSides HeaderColumnsBorderSide { get { return _HeaderColumnsBorderSide; } set { _HeaderColumnsBorderSide = value; } }
    public Font HeaderColumnsFont { get { return _HeaderColumnsFont; } set { _HeaderColumnsFont = value; } }
    public StiTextHorAlignment DataTextHorAlignment { get { return _DataTextHorAlignment; } set { _DataTextHorAlignment = value; } }
    public StiVertAlignment DataTextVertAlignment { get { return _DataTextVertAlignment; } set { _DataTextVertAlignment = value; } }
    public StiBorderSides DataTextBorderSides { get { return _DataTextBorderSides; } set { _DataTextBorderSides = value; } }
    public Font DataTextFont { get { return _DataTextFont; } set { _DataTextFont = value; } }
    public bool DataTextWordWrap { get { return _DataTextWordWrap; } set { _DataTextWordWrap = value; } }
    public StiBrush FooterBandBrush { get { return _FooterBandBrush; } set { _FooterBandBrush = value; } }
    public string FooterTextValue { get { return _FooterTextValue; } set { _FooterTextValue = value; } }
    public StiTextHorAlignment FooterTextHorAlignment { get { return _FooterTextHorAlignment; } set { _FooterTextHorAlignment = value; } }
    public StiVertAlignment FooterTextVertAlignment { get { return _FooterTextVertAlignment; } set { _FooterTextVertAlignment = value; } }
    public StiBrush FooterTextBrush { get { return _FooterTextBrush; } set { _FooterTextBrush = value; } }
    public Font FooterTextFont { get { return _FooterTextFont; } set { _FooterTextFont = value; } }
    public StiBorder FooterTextBorder { get { return _FooterTextBorder; } set { _FooterTextBorder = value; } }


    public void PrintReport(DataTable dtDataSource)
    {

    DataView dataView = dtDataSource.DefaultView;
    StiReport report = new StiReport();
    report.ScriptLanguage = StiReportLanguageType.CSharp;
    report.RegData("view", dataView);

    //Fill dictionary
    report.Dictionary.Synchronize();
    StiPage page = report.Pages.Items[0];
    page.Border = _PageBorder;
    page.Orientation = _PageOrientation;


    //Create Report Title Band
    StiReportTitleBand rt = new StiReportTitleBand();
    rt.Height = _ReportTitleHeight;
    rt.Name = "ReportTitleBand";
    rt.Border = _ReportTitleBorder;

    //Create Text on Report Title Band
    StiText st = new StiText(new RectangleD(0, 0, page.Width, 1f));
    st.Text.Value = _ReportTitle;
    st.HorAlignment = _ReportTitleHorAlignment;
    st.VertAlignment = _ReportTitleVertAlignment;
    st.Name = "TitleText1";
    st.Font = _ReportTitleFont;
    rt.Components.Add(st);
    page.Components.Add(rt);


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

    //Create DataBand
    StiDataBand dataBand = new StiDataBand();
    dataBand.DataSourceName = "view" + dataView.Table.TableName;
    dataBand.Height = _DataBandHeight;
    dataBand.Name = "DataBand";
    dataBand.Border = _DataBandBorder;
    dataBand.CanGrow = _DataBandCanGrow;
    page.Components.Add(dataBand);

    //Create texts
    Double pos = 0;
    Double columnWidth = StiAlignValue.AlignToMinGrid(page.Width / dataView.Table.Columns.Count, 0.1, false);
    int nameIndex = 1;


    for (int i = dataView.Table.Columns.Count - 1; i != -1; i--)
    {
    DataColumn column = dataView.Table.Columns[i];

    //Create text on header
    StiText headerText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5f));
    headerText.Text.Value = column.Caption;
    headerText.HorAlignment = _HeaderColumnsHorAlignment;
    headerText.VertAlignment = _HeaderColumnsVertAlignment;
    headerText.Name = "HeaderText" + nameIndex.ToString();
    headerText.Brush = _HeaderColumnsBrush;
    headerText.Border.Side = _HeaderColumnsBorderSide;
    headerBand.Components.Add(headerText);
    headerText.Font = _HeaderColumnsFont;


    //Create text on Data Band
    StiText dataText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5f));
    dataText.Text.Value = "{view" + dataView.Table.TableName + "." + Stimulsoft.Report.CodeDom.StiCodeDomSerializator.R eplaceSymbols(column.ColumnName) + "}";
    dataText.Name = "DataText" + nameIndex.ToString();
    dataText.HorAlignment = _DataTextHorAlignment;
    dataText.VertAlignment = _DataTextVertAlignment;
    dataText.Font = _DataTextFont;
    dataText.Border.Side = _DataTextBorderSides;
    dataText.WordWrap = _DataTextWordWrap;

    dataBand.Components.Add(dataText);

    pos += columnWidth;
    nameIndex++;
    }


    //Create FooterBand
    StiFooterBand footerBand = new StiFooterBand();
    footerBand.Height = 0.5f;
    footerBand.Name = "FooterBand";
    footerBand.Border = new StiBorder(StiBorderSides.All, Color.Black, 1, StiPenStyle.Solid);
    footerBand.Left = dataBand.Left;
    footerBand.Width = dataBand.Width;
    footerBand.Brush = _FooterBandBrush;
    page.Components.Add(footerBand);

    //Create text on footer
    StiText footerText = new StiText(new RectangleD(0, 0, page.Width, 0.5f));
    footerText.Text.Value = _FooterTextValue;
    footerText.HorAlignment = _FooterTextHorAlignment;
    footerText.VertAlignment = _FooterTextVertAlignment;
    footerText.Name = "FooterText";
    footerText.Brush = _FooterTextBrush;
    footerText.Font = _FooterTextFont;
    footerText.Border = _FooterTextBorder;
    footerBand.Components.Add(footerText);

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



    public void ExportToExcel(DataTable data, string FileName)
    {
    StiReport Report = new StiReport();
    Font _HeaderFont = new Font("Tahoma", 8f, FontStyle.Bold);
    Font _RowsFont = new Font("Tahoma", 8f, FontStyle.Regular);

    //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];
    page.Orientation = Stimulsoft.Report.Components.StiPageOrientation.La ndscape;
    page.RightToLeft = true;
    page.Width = 100;


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


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


    //Create texts
    double pos = 0;


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


    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.Font = _HeaderFont;
    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.Font = _RowsFont;
    dataText.Border.Side = StiBorderSides.All;
    dataText.HorAlignment = StiTextHorAlignment.Center;




    StiCondition condition = new StiCondition();


    condition.BackColor = Color.White;
    condition.TextColor = Color.Black;
    condition.Font = _RowsFont;
    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);


    StiExcel2007ExportSettings ExcelSettings = new StiExcel2007ExportSettings();
    ExcelSettings.UseOnePageHeaderAndFooter = true;
    ExcelSettings.ExportObjectFormatting = true;

    StiOptions.Export.Excel2007.ColumnsRightToLeft = true;
    StiOptions.Export.Excel2007.RemoveEmptySpaceAtBott om = true;


    Report.ExportDocument(StiExportFormat.Excel2007, FileName, ExcelSettings);



    }


    }
    }




    بعد یه نمونه از این کلاس درست کن و از متد PrintReport که یک دیتا تیبل رو به عنوان ورودی میگیره استفاده کن . اینطوری :

     ReportGenerator report = new ReportGenerator();

    report.ReportTitle = "ليست اطلاعات و مشخصات افراد ";

    report.ReportTitleFont = new Font("B Yekan", 12f);

    report.HeaderColumnsFont = new Font("B Nazanin", 8f, FontStyle.Bold);

    report.PageOrientation = Stimulsoft.Report.Components.StiPageOrientation.La ndscape;

    report.DataBandCanGrow = true;

    report.DataTextFont = new Font("B Nazanin", 8f, FontStyle.Regular);

    report.DataTextWordWrap = true;

    DataTable dt = PreparPrintDataTable();
    report.PrintReport(dt);


    البته به توی خط یکی به آخر باید دیتاتیبل خودت رو مشخص کنی .

    همچنین کلاسی که گفتم یه متد برای استخراج به اکسل به نام ExportToExcel هم داره که میتونی استفاده کنی
    آخرین ویرایش به وسیله rahmatipoor : جمعه 29 مرداد 1395 در 15:09 عصر

  18. #18

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    ممنو میشم بیشتر توضیح بدید
    نمونه اگر دارید بزارید لطفا...

  19. #19
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    گفتم که یک کلاس به برنامه تون اضافه کنید و اسمش رو ReportGenerator بذارید و محتویاتی که چند پست قبل گفتم رو بهش اضافه کنید.

    بعدش شما وقتی کوئری تون رو اجرا میکنید ، معمولا جوابش رو به صورت دیتاتیبل یا دیتاویو می گیرید.

    کافیه هر جایی که خواستید با دستور

    ReportGenerator report = new ReportGenerator();

    یک نمونه از کلاس تون ایجاد کنید.

    بعدش با استفاده از متد PrintReport از نمونه کلاسی که ایجاد کردید استفاده کنید. ( این متد یک دیتاتیبل رو به عنوان ورودی میگیره و به صورت اتوماتیک و پویا بر اساس تعداد ستونهای دیتاتیبل گزارش رو براتون ایجاد و نمایش میده )
    فرض کنید نام دیتا تیبل شما dt هست. حالا قبلش هر جوری این dt رو پر کردید.

    کافیه این کد رو توی دکمه تون بنویسید

    report .PrintReport(dt);


    البته قبلش باید یه نمونه از کلاس ReportGenerator ایجاد کرده باشید.( توی همین پست چند خط قبل توضیح دادم)

    پس کاملش این میشه :

    ReportGenerator report = new ReportGenerator();
    report .PrintReport(dt);

  20. #20

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    ممنون
    پس نیازی نیست استیمول رو به فرم اضافه کنم یا در استیمول کاری کنم..؟

  21. #21
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نه
    فقط به رفرنسهای برنامه، رفرنسهای استیمول رو اضافه کنید

  22. #22

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط rahmatipoor مشاهده تاپیک
    نه
    فقط به رفرنسهای برنامه، رفرنسهای استیمول رو اضافه کنید
    خیلی خیلی ممنون دوست عزیز.
    با روشی که گفتی تونستم انجام بدم فقط اگه بخوام نام سر ستون دو تا از ستون های دیتاگرید که به استمیول میفرستم رو تغییر بدم و عرض دو ستون رو تغییر بدم باید چکار کنم

  23. #23
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    تغییر عنوان ستونها

    dt.Columns["نام ستون"].Caption ="نام دلخواه";


    این کار رو قبل از کد ایجاد گزارش بنویسید برای هر ستونی که می خواهید تغییر عنوان بدید

  24. #24

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط rahmatipoor مشاهده تاپیک
    تغییر عنوان ستونها

    dt.Columns["نام ستون"].Caption ="نام دلخواه";


    این کار رو قبل از کد ایجاد گزارش بنویسید برای هر ستونی که می خواهید تغییر عنوان بدید
    دستت درد نکنه.
    فقط چجوری باید عرض ستون تغییر تغییر بدم...؟

  25. #25
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    تغییر عرض ستون رو هنوز انجام ندادم

    اگه به نتیجه رسیدم اینجا میذارم

  26. #26

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    نقل قول نوشته شده توسط rahmatipoor مشاهده تاپیک
    تغییر عرض ستون رو هنوز انجام ندادم

    اگه به نتیجه رسیدم اینجا میذارم
    ممنون دوست عزیز
    پس بیصبرانه منتظرم

  27. #27

    نقل قول: ایجاد گزارش از ترکیب سه جدول

    وقعا جای تشکر داره که اینقدر زحمت کشیدید
    ولی خب نواقصی هم داره
    من جمله گروه بندی== جمع هرگروه و تعین استیل بهتر برای گزارش

تاپیک های مشابه

  1. سوال: ایجاد گزارش از دو یا چند جدول در کریستال
    نوشته شده توسط ali_mo7670 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: یک شنبه 16 مرداد 1390, 00:47 صبح
  2. روش ایجاد گزارش از نتایج جستجو
    نوشته شده توسط metal13 در بخش Access
    پاسخ: 3
    آخرین پست: چهارشنبه 11 خرداد 1390, 20:24 عصر
  3. ایجاد گزارش از یک جدول دیتاست در زمان اجرا
    نوشته شده توسط rezaricky در بخش VB.NET
    پاسخ: 0
    آخرین پست: شنبه 06 آذر 1389, 14:38 عصر
  4. ایجاد گزارش از دو جدول
    نوشته شده توسط Roza_tsc در بخش SQL Server
    پاسخ: 3
    آخرین پست: پنج شنبه 12 خرداد 1384, 21:38 عصر
  5. ایجاد گزارش از دو جدول
    نوشته شده توسط Roza_tsc در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: چهارشنبه 11 خرداد 1384, 12:28 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •