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

نام تاپیک: تبدیل IENumerable به Datarow

  1. #1

    Question تبدیل IENumerable به DataTable

    یعرض سلام واحترام به همه دوستان فعال
    مشکل از این قراره که وقتی itemsource توسط فرامین linq to sql پر میشه دیگه نمی تونم از کست datarow استفاده کنم و این باعث شده نتونم مثل همیشه برای جستجو در گرید به ردیف مورد نظر برم .
    نمی خوام دیتاگرید مجدد بارگذاری بشه ، فقط میخوام در همین اطلاعاتی که در ایتم سورس هست جستجو صورت بگیره.
    کد پر کردن دیتا گرید اینه
    DataClasses1DataContext mydb = new DataClasses1DataContext();
    int Yearid = (cbYears.SelectedItem as tbl_year).id;
    var i = from c in mydb.tbl_students where c.year_num == Yearid select c;
    dgv_Students.ItemsSource = i;

    و کد جستجو اینه :
    foreach (DataRowView drv in (DataView)dgvttt.ItemsSource)
    {
    if (Str.StartsWith(ToFind))
    {
    IfFind = true;
    dgvttt.SelectedItem = drv;
    dgvttt.UpdateLayout();
    dgvttt.ScrollIntoView(dgvttt.SelectedItem);
    break;
    }
    }

    خطا هنگام run time error و بخاطر cast کردن
    (DataView)dgvttt.ItemsSource
    متشکرم
    آخرین ویرایش به وسیله borhaan : چهارشنبه 14 آذر 1397 در 20:46 عصر دلیل: اشتباه

  2. #2

    نقل قول: تبدیل IENumerable به Datarow

    از این طریق هم خطا میده و نمی تونم کست کنم یعنی اجازه
    CopyToDataTable را هم نمی دهد! .
    DataClasses1DataContext mydb = new DataClasses1DataContext();
    int Yearid = (cbYears.SelectedItem as tbl_year).id;
    IEnumerable<DataRow> query =
    (from r in mydb.tbl_students.AsEnumerable()
    where (r.year_num == Yearid)
    select r).Cast<DataRow>();
    DataTable ddt = new DataTable();
    ddt = query.CopyToDataTable<DataRow>();

  3. #3

    نقل قول: تبدیل IENumerable به Datarow

    datarow زمانی کاربرد دارد که از دیتاتیبل استفاده کرده باشید.
    در این کد کافی هست دیتاسورس را به نوعی که ایجاد کرده اید cast کنید
    foreach (tbl_student drv in (IEnumerable<tbl_student>)dgvttt.ItemsSource)
    {

    }

  4. #4

    نقل قول: تبدیل IENumerable به Datarow

    متشکرم . بله درسته جواب داد . ولی تو این مدت من پروژه رو از LinqToSql به EntityFramwork منتقل کردم و همه این مدت یک اشتباه فاحش داشتم و اون این بود که پس از cast به این روش میخواستم از کد []drv استفاده کنم که جواب نمی داد و الان بعد از این راهنمایی بسیار خوب شما از کد زیر به نتیجه رسیدم ...
    drv.Fname.ToString().Trim();

    خیلی خیلی ممنونم

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

  1. حرفه ای: تبدیل IEnumerable به IEnumerable<T>, برای اعمال where در صورتیکه نوع T را نمی دانیم
    نوشته شده توسط hhiliahh در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 0
    آخرین پست: یک شنبه 09 مهر 1391, 10:21 صبح
  2. سوال: تبدیل datarow[] به string
    نوشته شده توسط ms.daneshmand در بخش C#‎‎
    پاسخ: 8
    آخرین پست: جمعه 18 آذر 1390, 16:50 عصر
  3. سوال: فرق بین DataRow و []DataRow چیست؟
    نوشته شده توسط hp1361 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 16 آذر 1388, 07:52 صبح
  4. اشکال در datarow
    نوشته شده توسط darya_22222 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 30 مهر 1386, 21:45 عصر

برچسب های این تاپیک

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

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