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

نام تاپیک: تشریح یک متد برای گزارش گیری

  1. #1
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82

    تشریح یک متد برای گزارش گیری

    من برای یه گزارش گیری که با چندیدن بار سوال کردن از دوستان می خواستم انجام بدم و در آخر هم به نتیجه نرسیدم تو سایت های زبان اصلی اون کد مورد نظر رو پیدا کردم ولی الان موقع گزارش صفحه ای میاد که به من میگه نام هر ستون رو وارد کن


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.OleDb;
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.ReportSource;
    using CrystalDecisions.Shared;
    using CrystalDecisions.Windows.Forms;
    namespace app5
    {
    publicpartialclassForm1 : Form
    {
    CrystalReport1 objRpt;
    public Form1()
    {
    InitializeComponent();
    }
    privatevoid button1_Click(object sender, EventArgs e)
    {
    objRpt = newCrystalReport1();
    string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\db1.mdb";

    //Get Select query Strring and add parameters to the
    //Crystal report.
    string query = CreateSelectQueryAndParameters();
    //if there is no item select,then exit from the method.
    if (!query.Contains("Column"))
    {
    MessageBox.Show("No selection to display!");
    return;
    }
    try
    {
    OleDbConnection Conn = newOleDbConnection(connString);
    OleDbDataAdapter adepter = newOleDbDataAdapter(query, connString);
    DataSet1 Ds = newDataSet1();
    adepter.Fill(Ds, "Customer");

    objRpt.SetDataSource(Ds);
    crystalReportViewer1.ReportSource = objRpt;
    }
    catch (OleDbException oleEx)
    {
    MessageBox.Show(oleEx.Message);
    }
    catch (Exception Ex)
    {
    MessageBox.Show(Ex.Message);
    }
    }
    ///<summary>
    /// This method is used to
    /// 1. creat SELECT query according to the selcted column names and
    /// 2. create parameters and assign values for that parameter that correspond to
    /// the crystal report.
    /// NOTE: This parameter is used to display Coulumn names of the Crystal Report
    /// according to the user selecteion.
    ///</summary>
    ///<returns></returns>
    privatestring CreateSelectQueryAndParameters()
    {
    ReportDocument reportDocument;
    ParameterFields paramFields;
    ParameterField paramField;
    ParameterDiscreteValue paramDiscreteValue;
    reportDocument = newReportDocument();
    paramFields = newParameterFields();


    string query = "SELECT ";
    int columnNo = 0;
    if (chbCode.Checked)
    {
    columnNo++;
    query = query.Insert(query.Length, "Code as Column" + columnNo.ToString());

    paramField = newParameterField();
    paramField.Name = "col" + columnNo.ToString();
    paramDiscreteValue = newParameterDiscreteValue();
    paramDiscreteValue.Value = "Customer Code";
    paramField.CurrentValues.Add(paramDiscreteValue);
    //Add the paramField to paramFields
    paramFields.Add(paramField);
    }
    if (chbFirstName.Checked)
    {
    columnNo++;
    if (query.Contains("Column"))
    {
    query = query.Insert(query.Length, ", ");
    }
    query = query.Insert(query.Length, "FirstName as Column" + columnNo.ToString());

    paramField = newParameterField();
    paramField.Name = "col" + columnNo.ToString();
    paramDiscreteValue = newParameterDiscreteValue();
    paramDiscreteValue.Value = "First Name";
    paramField.CurrentValues.Add(paramDiscreteValue);
    //Add the paramField to paramFields
    paramFields.Add(paramField);
    }
    if (chbLastName.Checked)
    {
    columnNo++;
    if (query.Contains("Column"))
    {
    query = query.Insert(query.Length, ", ");
    }
    query = query.Insert(query.Length, "LastName as Column" + columnNo.ToString());

    paramField = newParameterField();
    paramField.Name = "col" + columnNo.ToString();
    paramDiscreteValue = newParameterDiscreteValue();
    paramDiscreteValue.Value = "Last Name";
    paramField.CurrentValues.Add(paramDiscreteValue);
    //Add the paramField to paramFields
    paramFields.Add(paramField);
    }
    if (chbAddress.Checked)
    {
    columnNo++;
    if (query.Contains("Column"))
    {
    query = query.Insert(query.Length, ", ");
    }
    query = query.Insert(query.Length, "Address as Column" + columnNo.ToString());

    paramField = newParameterField();
    paramField.Name = "col" + columnNo.ToString();
    paramDiscreteValue = newParameterDiscreteValue();
    paramDiscreteValue.Value = "Address";
    paramField.CurrentValues.Add(paramDiscreteValue);
    //Add the paramField to paramFields
    paramFields.Add(paramField);
    }
    if (chbPhone.Checked)
    {
    columnNo++;
    if (query.Contains("Column"))
    {
    query = query.Insert(query.Length, ", ");
    }
    query = query.Insert(query.Length, "Phone as Column" + columnNo.ToString());

    paramField = newParameterField();
    paramField.Name = "col" + columnNo.ToString();
    paramDiscreteValue = newParameterDiscreteValue();
    paramDiscreteValue.Value = "Phone";
    paramField.CurrentValues.Add(paramDiscreteValue);
    //Add the paramField to paramFields
    paramFields.Add(paramField);
    }
    //if there is any remaining parameter, assign empty value for that
    //parameter.
    for (int i = columnNo; i < 5; i++)
    {
    columnNo++;
    paramField = newParameterField();
    paramField.Name = "col" + columnNo.ToString();
    paramDiscreteValue = newParameterDiscreteValue();
    paramDiscreteValue.Value = "";
    paramField.CurrentValues.Add(paramDiscreteValue);
    //Add the paramField to paramFields
    paramFields.Add(paramField);
    }

    crystalReportViewer1.ParameterFieldInfo = paramFields;
    query += " FROM Customer" ;
    return query;
    }
    privatevoid Form1_Load(object sender, EventArgs e)
    {
    }
    }
    }


    این کد باعث میشه که کار بر هر فیلد دلخواهش رو از جدول با انتخاب چکباکس های مورد نظر به چاپ برسونه
    آخرین ویرایش به وسیله ebtekar : جمعه 03 خرداد 1387 در 11:22 صبح

  2. #2
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82

    تشریح یک متد برای گزارش گیری

    خود برنامه رو براتون گزاشتم تا پیغام رو ببینید
    فایل های ضمیمه فایل های ضمیمه

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

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