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

نام تاپیک: دسترسی به سطرهای فیلتر شده Telerik GridView

  1. #1
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    Question دسترسی به سطرهای فیلتر شده Telerik GridView

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



    DataTable table = new DataTable("dt1");


    foreach (Telerik.WinControls.UI.GridViewDataColumn column in dgv1.Columns)
    {
    table.Columns.Add(column.Name, typeof(string));
    }
    for (int i = 0; i < dgv1.Rows.Count-1; i++)
    {
    table.Rows.Add();
    for (int j = 0; j < dgv1.Columns.Count; j++)
    {
    table.Rows[i][j] = dgv1.Rows[i].Cells[j].Value;
    }
    }

  2. #2

    نقل قول: پر کردن datatable بعد از فیلتر datagridview

    در اینگونه موارد بهترین منبع همان داکیومنت اصلی شرکتها هست.
    در این مورد در سایت تلریک کد زیر را به عنوان مثال برای فیلترینگ قرار داده
    DataTable dt = new DataTable();
    public void FillData()
    {
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("Name", typeof(string));
    for (int i = 0; i < 30; i++)
    {
    dt.Rows.Add(i, "Item" + i);
    }
    this.radGridView1.DataSource = dt;
    this.radGridView1.EnableFiltering = true;
    this.radGridView1.MasterTemplate.DataView.BypassFi lter = true;
    this.radGridView1.FilterChanged += radGridView1_FilterChanged;
    }
    private void radGridView1_FilterChanged(object sender, GridViewCollectionChangedEventArgs e)
    {
    if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.ItemChanged)
    {
    dt.DefaultView.RowFilter = this.radGridView1.FilterDescriptors.Expression;
    }
    if (e.Action == NotifyCollectionChangedAction.Remove)
    {
    dt.DefaultView.RowFilter = "";
    }
    }

    خوبی این کد این هست که فیلتر را روی دیتاتیبل هم اعمال میکند. در اینصورت شما هر جا به داده های فیلتر شده نیاز داشتید از dt.DefaultView میتونید استفاده کنید.

  3. #3
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: پر کردن datatable بعد از فیلتر datagridview

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    در اینگونه موارد بهترین منبع همان داکیومنت اصلی شرکتها هست.
    در این مورد در سایت تلریک کد زیر را به عنوان مثال برای فیلترینگ قرار داده
    DataTable dt = new DataTable();
    public void FillData()
    {
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("Name", typeof(string));
    for (int i = 0; i < 30; i++)
    {
    dt.Rows.Add(i, "Item" + i);
    }
    this.radGridView1.DataSource = dt;
    this.radGridView1.EnableFiltering = true;
    this.radGridView1.MasterTemplate.DataView.BypassFi lter = true;
    this.radGridView1.FilterChanged += radGridView1_FilterChanged;
    }
    private void radGridView1_FilterChanged(object sender, GridViewCollectionChangedEventArgs e)
    {
    if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.ItemChanged)
    {
    dt.DefaultView.RowFilter = this.radGridView1.FilterDescriptors.Expression;
    }
    if (e.Action == NotifyCollectionChangedAction.Remove)
    {
    dt.DefaultView.RowFilter = "";
    }
    }

    خوبی این کد این هست که فیلتر را روی دیتاتیبل هم اعمال میکند. در اینصورت شما هر جا به داده های فیلتر شده نیاز داشتید از dt.DefaultView میتونید استفاده کنید.

    ممنون بابت راهنماییتون . ولی متاسفانه این کد فقط اولین رکورد جدولمو برمیگردونه . که تو فیلترم نیست

  4. #4

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik gridview

    رویداد FilterChanged را هم ایجاد کردید؟ کد کاملتری بزارید.

  5. #5
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik gridview

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    رویداد FilterChanged را هم ایجاد کردید؟ کد کاملتری بزارید.

    اینم کد های کامل

    private void btnPrint_Click(object sender, EventArgs e)
    {
    StiReport s = new StiReport();
    s.Load("Reports\\ShahrebaziReport.mrt");
    s.Compile();
    // s.RegData("DataSource1", Dt);
    s.RegData("Shahrebazi",table);

    s.Show();
    }
    private void dgv1_FilterChanged(object sender, GridViewCollectionChangedEventArgs e)
    {
    if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.ItemChanged)
    {
    table.DefaultView.RowFilter = this.dgv1.FilterDescriptors.Expression;
    }
    if (e.Action == NotifyCollectionChangedAction.Remove)
    {
    table.DefaultView.RowFilter = "";
    }
    }

    private void Fill()
    {
    foreach (Telerik.WinControls.UI.GridViewDataColumn column in dgv1.Columns)
    {
    table.Columns.Add(column.Name, typeof(string));
    }
    for (int i = 0; i < dgv1.Rows.Count - 1; i++)
    {
    table.Rows.Add();
    for (int j = 0; j < dgv1.Columns.Count; j++)
    {
    table.Rows[i][j] = dgv1.Rows[i].Cells[j].Value.ToString();
    }
    }
    this.dgv1.DataSource = table;
    this.dgv1.EnableFiltering = true;
    this.dgv1.FilterChanged += dgv1_FilterChanged;
    }





  6. #6

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik gridview

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

  7. #7
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik gridview

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اشتباه متوجه شدید. متد Fill متدی هست که بار اول دیتاگرید رو پر میکنید.
    خب منم برای بار اول دیتا رو پر میکنم تو دیتا تیبل. بعد هنگام فیلتر تو گرید ویو فیلتر درست عمل میکنه اما تو دیتا تبل فقط رکورد اول بانک اطلاعاتی نمایش داده میشه.

  8. #8

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    اینطور نمیشه، کدی که بار اول دیتاگرید رو پر میکنید رو هم بزارید تا اصلاح کنم.

  9. #9
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اینطور نمیشه، کدی که بار اول دیتاگرید رو پر میکنید رو هم بزارید تا اصلاح کنم.




    ShahrebaziDA _ShahrebaziDA = new ShahrebaziDA();
    table= _ShahrebaziDA.SelectAll();
    dgv1.DataSource =table;




    من با این هم دیتا تیبل رو پر میکنم هم دیتا گریدم رو

  10. #10

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    به فرض که در سازنده یا formload اطلاعات از دیتابیس دریافت میشه و نام فرم Form1 باشه به صورت زیر(کافیه table.DefaultView.ToTable() را به گزارش ارسال کنید)
            DataTable table;

    public Form1()
    {
    InitializeComponent();

    ShahrebaziDA _ShahrebaziDA = new ShahrebaziDA();
    table = _ShahrebaziDA.SelectAll();
    dgv1.DataSource = table;
    dgv1.EnableFiltering = true;
    dgv1.FilterChanged += dgv1_FilterChanged;
    }



    private void btnPrint_Click(object sender, EventArgs e)
    {
    StiReport s = new StiReport();
    s.Load("Reports\\ShahrebaziReport.mrt");
    s.Compile();
    // s.RegData("DataSource1", Dt);
    s.RegData("Shahrebazi", table.DefaultView.ToTable());

    s.Show();
    }
    private void dgv1_FilterChanged(object sender, GridViewCollectionChangedEventArgs e)
    {
    if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.ItemChanged)
    {
    table.DefaultView.RowFilter = this.dgv1.FilterDescriptors.Expression;
    }
    if (e.Action == NotifyCollectionChangedAction.Remove)
    {
    table.DefaultView.RowFilter = "";
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 25 تیر 1396 در 18:25 عصر

  11. #11
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    به فرض که در سازنده یا formload اطلاعات از دیتابیس دریافت میشه و نام فرم Form1 باشه به صورت زیر(کافیه table.DefaultView را به گزارش ارسال کنید)


    [/CSHARP]
    ممنون ولی جواب نداد.
    جالبه که با تابع خود تلریک میشه داده های فیلتر شده رو به چاپ ارسال کرد که اونم برا تلریکه.
    اما نیازه اینارو بفرستم رو استیمو ریپورت. مطمئنم راهی هست چون وقتی خود تلریک میتونه همچین کاری بکنه پس شدنیه.
    تابع عم اینه dgv1.PrintPreview()

  12. #12

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    قسمت ارسال داده به گزارش را به صورت table.DefaultView.ToTable() اصلاح کنید


    نمونه پروژه (در صورتی که خطا داد رفرنس های تلریک و یا استیمول را حذف و دوباره اضافه کنید)
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 25 تیر 1396 در 18:44 عصر

  13. #13
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    قسمت ارسال داده به گزارش را به صورت table.DefaultView.ToTable() اصلاح کنید


    نمونه پروژه (در صورتی که خطا داد رفرنس های تلریک و یا استیمول را حذف و دوباره اضافه کنید)
    آقا واقعا ممنون . بدجور کارمو را انداختی دستت درد نکنه


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

  14. #14
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    فقط یک مشکل به وجود اومده که زیاد حاد نیست.
    بعد از انتخاب شرط فیلتر و اعمال فیلتر مشکلی نیست. بار دوم که بخوام شرط فیلتر رو عوض کنم این خطا برام ظاهر میشه.
    ضمیمه 145780

    خب این تغییرات به نظرتون منجر به این خطا شده؟

  15. #15

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    چه کدی اجرا میکنید که به این خطا ختم میشه؟ دقیقا خط اول اون کد یک break point بزارید و با F11 تریس کنید ببینید چه خطی باعث بوجود اومدن خطا میشه. حتما ارجاعی دارید که null هست و دارید به اجزای اون دسترسی پیدا میکنید.

  16. #16
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    چه کدی اجرا میکنید که به این خطا ختم میشه؟ دقیقا خط اول اون کد یک break point بزارید و با F11 تریس کنید ببینید چه خطی باعث بوجود اومدن خطا میشه. حتما ارجاعی دارید که null هست و دارید به اجزای اون دسترسی پیدا میکنید.

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


    تریس هم کردم اون قسمت فیلتر رو تو فیلتر مشکلی نیست . فقط وقتی فیلتر تموم میشه میره تو اون program.cs و خطا نشون داده میشه

    راحتترین مورد همین کدی که زحمت کشیدین و برام نوشتین رو تو سیستم خودتون اجرا کنید. بعد تو قسمت فیلتر a رو بنویسید بعد اون قیف رو بزنید و یه مورد از لیست رو انتخاب کنید. و خطا رو مشاهده کنید

  17. #17

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    راحتترین مورد همین کدی که زحمت کشیدین و برام نوشتین رو تو سیستم خودتون اجرا کنید. بعد تو قسمت فیلتر a رو بنویسید بعد اون قیف رو بزنید و یه مورد از لیست رو انتخاب کنید. و خطا رو مشاهده کنید
    امتحان کردم، با تغییر نوع فیلتر خطایی نداد. مطمئنی نمونه من هم خطا میده؟

  18. #18
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: دسترسی به سطرهای فیلتر شده Telerik GridView

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    امتحان کردم، با تغییر نوع فیلتر خطایی نداد. مطمئنی نمونه من هم خطا میده؟
    بله من میام رو سطری که کلمات رو وارد میکنم تا فیلتر انجام بشه یک کلمه رو تایپ میکنم درست انجام میشه . حالا بعد بدون اینکه به چیزی دست بزنم میرم رو اون علامت قیف کلیک میکنم ویکی از موارد رو انتخاب میکنم و خطا ایجاد میشه.

    قبل از تغییر نوع فیلتر یک بار متنی وارد کنید سپس فیلتر رو تغییر بدید

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

  1. دسترسی به ButtonField ایجاد شده در Gridview
    نوشته شده توسط mehr_83 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: شنبه 27 بهمن 1397, 14:38 عصر
  2. محدود کردن دسترسی به اینترنت share شده
    نوشته شده توسط Hidarneh در بخش شبکه و Networking‌
    پاسخ: 7
    آخرین پست: چهارشنبه 25 دی 1387, 14:27 عصر
  3. سوال: چگونگی دسترسی به مقدار انتخاب شده در ListView
    نوشته شده توسط captain_black81 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 20 خرداد 1387, 17:21 عصر
  4. دسترسی به مقدار انتخاب شده در یک کنترل Select
    نوشته شده توسط morteza57 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 22 خرداد 1386, 21:13 عصر
  5. عدم دسترسی به پرینتر share شده
    نوشته شده توسط mehialdst در بخش شبکه و Networking‌
    پاسخ: 3
    آخرین پست: پنج شنبه 06 مرداد 1384, 01:23 صبح

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

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