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

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

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار 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();
    }

  2. #2

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

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

  3. #3
    کاربر دائمی آواتار 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;
    }

  4. #4

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

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

  5. #5
    کاربر دائمی آواتار 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;
    }

  6. #6

    نقل قول: ارتباط 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 عصر

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

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