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

نام تاپیک: ارتباط LINQ و DATASORCEBINDING

  1. #1

    ارتباط LINQ و DATASORCEBINDING

    سلام
    ممنون میشم راهنمایی بفرمایید دوستان
    من در پروژه ام از LINQ استفاده می کنم و برای اینکه در datagridview نمایش بدهم ابتدا اون را به datasource یک binding source نسبت می دهم و بعدش اون binding source را بعنوان datasource گرید ویو قرار می دهم ولی در این حالت فیلتر binding source کار نمی کند و هیچ خروجی ندارد آیا بجز اینکه در linq از where استفاده کنم راه دیگری هم وجود داره؟

  2. #2
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    نقل قول نوشته شده توسط ja_latifian مشاهده تاپیک
    سلام
    ممنون میشم راهنمایی بفرمایید دوستان
    من در پروژه ام از LINQ استفاده می کنم و برای اینکه در datagridview نمایش بدهم ابتدا اون را به datasource یک binding source نسبت می دهم و بعدش اون binding source را بعنوان datasource گرید ویو قرار می دهم ولی در این حالت فیلتر binding source کار نمی کند و هیچ خروجی ندارد آیا بجز اینکه در linq از where استفاده کنم راه دیگری هم وجود داره؟
    بله میشود

       BindingSource b;        public Form8()
    {

    InitializeComponent();


    b=Disp("Ali");


    dataGridView1.DataSource = b;




    }


    private BindingSource Disp(string name)
    {//کانکشن استرینگ و دستورات اس کیو ال را تغییر دهید



    var cnn = new SqlConnection("Data Source=.;Initial Catalog=DBExample;Integrated Security=True");
    var cmd = new SqlCommand("select * from TInfo", cnn);


    var da = new SqlDataAdapter(cmd);
    var dt = new DataTable();
    da.Fill(dt);
    var bs = new BindingSource
    {
    DataSource = dt,


    // Filter = $"نام ستون جدول شما = '{name}'"
    Filter = $"Name = '{name}'" //خذف شود
    };
    return bs;
    }






    private void button1_Click(object sender, EventArgs e)
    {//این کد فیلتر بیندینگ سورس را پاک میکند
    b.RemoveFilter();
    }

  3. #3

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    سلام و تشکر از وقتی که گذاشتید
    ولی من میخوام خودم را درگیر dataadapter و dataTable و اینها نکنم برای همین از LINQ استفاده کردم
    چون اگه می خواستم از این ابزارها استفاده کنم مثل سابق از dataset استفاده می کردم و در کنارش از همین ابزارها
    شما در اصل اومدین صورت مسئله را عوض کردید و به جای LINQ از dataTable استفاده کردید
    مسئله اینه که وقتی bindingSource را با LINQ ارتباط می دیم فیلترش کار نمیکنه آیا امکانش هست با همین شرایط موجود فیلتر کرد ؟
    باز هم تشکر

  4. #4

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    خب کد linq رو برابر datagrid قرار بدید چرا binding source ؟
    برای جستجو هم از linq استفاده کنید

  5. #5
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    نقل قول نوشته شده توسط ja_latifian مشاهده تاپیک
    سلام و تشکر از وقتی که گذاشتید
    ولی من میخوام خودم را درگیر dataadapter و dataTable و اینها نکنم برای همین از LINQ استفاده کردم
    چون اگه می خواستم از این ابزارها استفاده کنم مثل سابق از dataset استفاده می کردم و در کنارش از همین ابزارها
    شما در اصل اومدین صورت مسئله را عوض کردید و به جای LINQ از dataTable استفاده کردید
    مسئله اینه که وقتی bindingSource را با LINQ ارتباط می دیم فیلترش کار نمیکنه آیا امکانش هست با همین شرایط موجود فیلتر کرد ؟
    باز هم تشکر
    5 روش جستجو

        public Form8()        {

    InitializeComponent();

    comboBox1.DataSource = dataGridView1.DataSource = Disp("Ali"); ;
    comboBox1.DisplayMember = "Name";
    }

    private BindingSource Disp(string name)
    {//نام جدول ودیتا کلاس رو عوض کنید


    //5
    // روش جستجو


    DataClasses1DataContext context = new DataClasses1DataContext();


    var q1 = from x in context.TInfos
    where x.Name .Equals(name )
    select x;


    var q2 = from x in context.TInfos
    where x.Name.Contains( name)
    select x;


    var q3 = from x in context.TInfos
    where x.Name.StartsWith( name)
    select x;


    var q4 = from x in context.TInfos
    where x.Name.EndsWith( name)
    select x;


    var q5 = from x in context.TInfos
    where x.Name==name
    select x;




    var bs = new BindingSource
    {
    DataSource = q5,
    };
    return bs;
    }

  6. #6

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    سلام
    علت استفاده از bindingsource اینه که میخوام وقتی روی ردیفهای datagrid حرکت میکنم مقادیر سلولهای اون ردیف را در textbox های پایینش نشون بده که اینکار با databinding خیلی راحتتره در ضمن من فکر میکردم راحت مثل زمانی که dataset استفاده میکردم بوسیله databindingsource فیلتر کنم که الان متوجه شدم مثل قبل نیست

  7. #7

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    تا اینجا درست اما یه مشکل
    برنامه من طوریه که روی header هر ستون datagrid که دبل کلیک میکنه یک تکست باکس روی هدر باز میشه و جستجو انجام میشه قبلا من توی فیلتر databinding فقط اسم ستون را برابر مقدار تکست باکس قرار میدادم و فیلتر انجام میشد ولی الان که باید توی where بنویسم چطوری x.name را بنویسم در حالیکه با کلیک کردن روی هدر ، نام هدر را بصورت string دارم امیدوارم منظورم را متوجه شده باشید
    باز هم ممنون و تشکر از همگی

  8. #8
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    تست کنید.....

    نقل قول نوشته شده توسط ja_latifian مشاهده تاپیک
    تا اینجا درست اما یه مشکل
    برنامه من طوریه که روی header هر ستون datagrid که دبل کلیک میکنه یک تکست باکس روی هدر باز میشه و جستجو انجام میشه قبلا من توی فیلتر databinding فقط اسم ستون را برابر مقدار تکست باکس قرار میدادم و فیلتر انجام میشد ولی الان که باید توی where بنویسم چطوری x.name را بنویسم در حالیکه با کلیک کردن روی هدر ، نام هدر را بصورت string دارم امیدوارم منظورم را متوجه شده باشید
    باز هم ممنون و تشکر از همگی

                private void LoadData()        {
    //رویداد لود فرم قرار دهید
    textBox1.Text = "Ali";
    textBox2.Text = "Name";
    //ya
    textBox1.Text = "Alipor";
    textBox2.Text = "Family";
    b = Disp(textBox1.Text, textBox2.Text);


    dataGridView1.DataSource = b;


    }


    private BindingSource Disp(string text,string nameColumn )
    {//نام جدول ودیتا کلاس رو عوض کنید


    //5
    // روش جستجو


    DataClasses1DataContext context = new DataClasses1DataContext();


    //var q1 = from x in context.TInfos
    // where x.Name.Equals(name)
    // select x;


    //var q2 = from x in context.TInfos
    // where x.Name.Contains(name)
    // select x;





    //var q4 = from x in context.TInfos
    // where x.Name.EndsWith(name)
    // select x;


    //var q5 = from x in context.TInfos
    // where x.Name == name
    // select x;


    IQueryable<TInfo> result = null;


    switch (nameColumn )
    {
    case "Name":
    {
    var name = from x in context.TInfos
    where x.Name == (text)
    select x;
    result = name;
    }
    break;
    case "Family":
    {
    var fam = from f in context.TInfos
    where f.Family == (text)
    select f;
    result = fam;
    }
    break;
    }






    var bs = new BindingSource
    {
    DataSource =result ,

    };
    return bs;
    }

  9. #9

    نقل قول: ارتباط LINQ و DATASORCEBINDING

    خیلی ممنون و متشکر

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

  1. پاسخ: 11
    آخرین پست: سه شنبه 03 شهریور 1394, 20:03 عصر
  2. آموزش: آموزش LINQ : همراه با مثال هایی از LINQ to Objects ، LINQ to SQL و LINQ to XML
    نوشته شده توسط ostovarit در بخش C#‎‎
    پاسخ: 11
    آخرین پست: پنج شنبه 01 فروردین 1392, 10:18 صبح
  3. سوال: تفاوت LINQ TO ENTITIES و LINQ TO SQL
    نوشته شده توسط mostafapro در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 0
    آخرین پست: شنبه 31 اردیبهشت 1390, 00:36 صبح
  4. تفاوت Linq To Sql با Linq To Entities و Linq To DataSet
    نوشته شده توسط Mostafa_Dindar در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 3
    آخرین پست: سه شنبه 14 اردیبهشت 1389, 01:57 صبح
  5. جستجو در DataTable با استفاده از LINQ (LINQ to DataSet)
    نوشته شده توسط piroozman در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 4
    آخرین پست: چهارشنبه 25 آذر 1388, 13:12 عصر

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

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