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

نام تاپیک: گزارشگیری مستقیم از DataGridView

  1. #1
    کاربر دائمی آواتار xminxmin
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    www.McAfeeUpdates.blogfa.com
    پست
    322

    Question گزارشگیری مستقیم از DataGridView

    پیرو پیام های خصوصی و تاپیک هایی که در این خصوص زده شد گفتم شاید بهتر باشه به همه مشکلات در خصوص گزارشگیری مستقیم از DataGridView در این تاپیک خاتمه بدم.
    این برنامه رو خودم نوشتم. یه نمونه مناسب جهت یادگیری. خیلی ساده ولی مفید!
    دوستان سوالی داشتند در خدمت هستم

    StiReportTest.rar

  2. #2

    نقل قول: گزارشگیری مستقیم از DataGridView

    سلام
    لطفا سمپل ارسال از تکس باکس را هم بگذارید .

  3. #3
    کاربر دائمی آواتار xminxmin
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    www.McAfeeUpdates.blogfa.com
    پست
    322

    نقل قول: گزارشگیری مستقیم از DataGridView

    نقل قول نوشته شده توسط mokhtar_r مشاهده تاپیک
    سلام
    لطفا سمپل ارسال از تکس باکس را هم بگذارید .
    سلام دوست عزیز دو راه دارید:
    *راه اول:
    تو قسمت Dictionary گزارشاتون روی System Variables کلیک راست کنید
    New Variable رو انتخاب کنید
    مقادیر دلخواه را پر کنید . مثلا : Name : Var1 --- Alias: Var1 --- Type : String
    بعد OK
    به این ترتیب یک متغیر از نوع String بنام Var1 ایجاد میشود
    حالا تو کد برنامه تون و قبل از نمایش گزارشتون مقدار TextBox مورد نظرتون را به Var1 ارسال کنید
     stiReport1.Dictionary.Variables["Var1"].Value = TextBox1.Text;  

    ودر گزارشتون از Var1 همانند یک فیلد استفاده کنین . Var1 را به روی گزارشتون بکشید

    *راه دوم:
    مانند نمونه برنامه پست#1 مثل DataGridView با Textbox ها رفتار کنید. مقادیر Textbox ها رو درون DataTable بریزید و جدول رو چاپ کنید

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    اراک
    پست
    230

    نقل قول: گزارشگیری مستقیم از DataGridView

    با سلام راستش این کارو قبلا استاد اسماعیل خواه داخل 1001 نکته در سی شارپ توضیح دادند با stimulsoft

    public static void PrintDataGrid(DataGridView sender, bool Landscape, string ReportTitle)
    {
    DataTable dt = GetDataGridViewDataSource(sender as DataGridView);

    foreach (DataColumn dc in dt.Columns)
    {
    dc.ColumnName = ReplaceSpaceWithUnderline(dc.ColumnName);
    }
    DataView dataView = dt.DefaultView;
    StiReport report = new StiReport();
    report.ScriptLanguage = StiReportLanguageType.CSharp;


    report.RegData("view", dataView);

    //Fill dictionary
    report.Dictionary.Synchronize();
    StiPage page = report.Pages.Items[0];
    if (Landscape)
    page.Orientation = StiPageOrientation.Landscape;


    //Create Report Title Band
    StiReportTitleBand rt = new StiReportTitleBand();
    rt.Height = 1.5f;
    rt.Name = "ReportTitleBand";
    StiText st = new StiText(new RectangleD(0, 0, page.Width, 1f));
    st.Text.Value = ReportTitle;
    st.HorAlignment = StiTextHorAlignment.Center;
    st.Name = "TitleText1";
    st.Font = new Font("B Mitra", 16f);
    rt.Components.Add(st);
    page.Components.Add(rt);


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

    //Create Dataaband
    StiDataBand dataBand = new StiDataBand();
    dataBand.DataSourceName = "view" + dataView.Table.TableName;
    dataBand.Height = 0.5f;
    dataBand.Name = "DataBand";
    page.Components.Add(dataBand);


    //Create texts
    Double pos = 0;
    Double columnWidth = StiAlignValue.AlignToMinGrid(page.Width / dataView.Table.Columns.Count, 0.1, true);
    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 = ReplaceUnderLineWithSpace(column.Caption);
    // headerText.Text.Value = column.Caption;
    headerText.HorAlignment = StiTextHorAlignment.Center;
    headerText.Name = "HeaderText" + nameIndex.ToString();
    headerText.Brush = new StiSolidBrush(Color.LightGreen);
    headerText.Border.Side = StiBorderSides.All;
    headerBand.Components.Add(headerText);
    headerText.Font = new Font("Tahoma", 8f);



    //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.Border.Side = StiBorderSides.All;
    dataText.HorAlignment = StiTextHorAlignment.Center;
    dataText.Font = new Font("Tahoma", 8f);
    //dataText.WordWrap = true;
    //dataText.CanGrow = true;


    //Add highlight
    //StiCondition condition = new StiCondition();
    //condition.BackColor = Color.CornflowerBlue;
    //condition.TextColor = Color.Black;
    //condition.Expression = "(Line & 1) == 1";
    //condition.Item = StiFilterItem.Expression;
    //dataText.Conditions.Add(condition);

    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);

    //page.Components.Add(footerBand);


    ////Create text on footer
    //StiText footerText = new StiText(new RectangleD(0, 0, page.Width, 0.5f));
    //footerText.Text.Value = "تعداد = {Count()-1}";
    //footerText.HorAlignment = StiTextHorAlignment.Right;
    //footerText.Name = "FooterText";
    //footerText.Brush = new StiSolidBrush(Color.WhiteSmoke);
    //footerText.Font = new Font("Tahoma", 8f);

    // footerBand.Components.Add(footerText);

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



    و بصورت معمولی در این پست قرار دادند

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

  1. اعمال مستقیم اطلاعات در DataGridView
    نوشته شده توسط mohsen_f_b در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 20 شهریور 1388, 18:49 عصر
  2. شما کدام ابزار را برای گزارشگیری ترجیح می‌دهید؟
    نوشته شده توسط مهدی کرامتی در بخش برنامه نویسی در Delphi
    پاسخ: 44
    آخرین پست: یک شنبه 27 آبان 1386, 00:29 صبح
  3. باز هم گزارشگیری datareport
    نوشته شده توسط saket در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: دوشنبه 21 آذر 1384, 21:58 عصر
  4. باز هم گزارشگیری datareport
    نوشته شده توسط saket در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: دوشنبه 07 شهریور 1384, 00:07 صبح
  5. نوشتن مستقیم روی LPT1
    نوشته شده توسط houshmand در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: یک شنبه 29 تیر 1382, 12:37 عصر

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

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