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

نام تاپیک: مشکل در دیتاگرید

  1. #1

    مشکل در دیتاگرید

    سلام
    من در دیتا گرید wpf مشکل داشتم
    من چون اطلاعاتم زیاد هست و دیتا گریدم کوچیک هست برام پیغام خطا میده.در واقع من میخوام به تک تک خونه های این دیتا گرید با استفاده از دستور for دسترسی داشته باشم و مقادیر اونها رو با for بین ویندو ها جا به جا کنم ولی دیتا گرید فقط اون حجم از اطلاعاتی رو میفرسته که قابل نمایش باشه براش و یه جورایی قابلیت اسکرول نداره دیتا گرید و برنامه خطای null به من میده
    لطفا راهنماییم کنین.
    با تشکر

  2. #2
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: مشکل در دیتاگرید

    دوست گرامی با سلام

    لطفا نمونه کد قرار بدید چون بنده از توضیحات شما کامل متوجه ایراد نشدم

  3. #3

    نقل قول: مشکل در دیتاگرید

    سلام
    یه پروژه جدیدو فرض کنید که با استفاده از متد زیر اطلاعاتی رو از یه جدول sql توی یه دیتا گرید نشون میدیم
    private void ShowStudentTable()
    {
    var query = database.Database.SqlQuery<vw_Students>("select * from vw_Students where StudentActive = 1");
    var u = query.ToList();
    dataGrid_all.ItemsSource = u;
    lbl_addcount.Content = dataGrid_all.Items.Count;
    }
    یک نکته ای که هست اینه که من دیتا گریدم یه اندازه خاصی رو داره و اگر اطلاعاتمون زیاد بشه برای دیدن خود کاربر نیاز داره که با استفاده از اسکرول خود دیتا بقیه اطلاعات رو ببینه
    حال من میخوام با استفاده از کد زیر که توی رویداد کلیک تعریف شده تک تک رکورد ها رو به فرم دیگه ارسال کنم ولی مشکل اینجاست که برنامه فقط اونایی رو ارسال میکنه که توی محدوده اندازه خود دیتا گرید هست. و بعد از محدوده رو ازسال نمیکنه و پیغام null رو نشون میده.من تست کردم اندازه دیتا گرید رو بزرگ کردم برنامه کامل اجرا شد و لی خب ما نمیتونیم این کارو کنیم چون حجم اطلاعات ممکنه خیلی زیاد بشه
    private void btn_newdeclaration_Click(object sender, RoutedEventArgs e)
    {
    int count = dataGrid_all.Items.Count;
    for(int i = 0;i<=count -1;i++)
    {
    win_GrandActive w_ga = new win_GrandActive();
    w_ga.GrandID = GrandID;
    w_ga.StudentID = Convert.ToInt32((dataGrid_all.Columns[0].GetCellContent(dataGrid_all.Items[i]) as TextBlock).Text);
    w_ga.StudentName = (dataGrid_all.Columns[1].GetCellContent(dataGrid_all.Items[i]) as TextBlock).Text;
    w_ga.ShowDialog();
    }

    }

  4. #4
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: مشکل در دیتاگرید

    دوست گرامی روش کارتون اشتباهه

    در فرم دیگه که نیاز به این اطلاعات هست ، با استفاده از دستورات sql اطلاعاتی رو میخواهید بگیرید

    چرا برای این کار سعی دارید از دیتاگرید اطلاعات رو برگردونید؟

  5. #5

    نقل قول: مشکل در دیتاگرید

    نقل قول نوشته شده توسط AbbasSediqi مشاهده تاپیک
    دوست گرامی روش کارتون اشتباهه

    در فرم دیگه که نیاز به این اطلاعات هست ، با استفاده از دستورات sql اطلاعاتی رو میخواهید بگیرید

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

  6. #6
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: مشکل در دیتاگرید

    در ضمن دوست گرامی برای دریافت اطلاعات به صورت سطری از دیتا گرید بهتره از این خط استفاده کنی


    foreach(DataRowView row in dataGrid.Items)
    {
    string text = row.Row.ItemArray[index].ToString();
    }

  7. #7

    نقل قول: مشکل در دیتاگرید

    نقل قول نوشته شده توسط AbbasSediqi مشاهده تاپیک
    در ضمن دوست گرامی برای دریافت اطلاعات به صورت سطری از دیتا گرید بهتره از این خط استفاده کنی


    foreach(DataRowView row in dataGrid.Items)
    {
    string text = row.Row.ItemArray[index].ToString();
    }
    میشه معادل همون حلقه for که من نوشتم توی foreach بگین؟چون من با این دستور اشنایی ندارم.اگه بگین بهتر میتونم درکش کنم

  8. #8
    کاربر دائمی آواتار AbbasSediqi
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    409

    نقل قول: مشکل در دیتاگرید


    foreach(DataRowView row in dataGrid.Items)
    {
    string text = row.Row.ItemArray[index].ToString();
    }


    دوست گرامی index در این دستور همون شماره column

    مثال شماره ستون
    StudentID برابر میشه با 0

    w_ga.StudentID = text

  9. #9

    نقل قول: مشکل در دیتاگرید

    نقل قول نوشته شده توسط AbbasSediqi مشاهده تاپیک

    foreach(DataRowView row in dataGrid.Items)
    {
    string text = row.Row.ItemArray[index].ToString();
    }


    دوست گرامی index در این دستور همون شماره column

    مثال شماره ستون
    StudentID برابر میشه با 0

    w_ga.StudentID = text
    مشکل حل شد.فقط کافی بود توی قسمت خواص datagrid توی xaml این دستور رو اضاف میکردم.VirtualizingStackPanel.IsVirtualizing ="False"

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

  1. مشکل در دیتاگرید
    نوشته شده توسط saeid.memfis در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 05 خرداد 1390, 12:56 عصر
  2. سوال: مشکل در دیتاگرید
    نوشته شده توسط bakhsyam در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 0
    آخرین پست: شنبه 06 آذر 1389, 20:29 عصر
  3. مشكل در ديتاگريد
    نوشته شده توسط iman_mah در بخش C#‎‎
    پاسخ: 17
    آخرین پست: دوشنبه 04 آبان 1388, 08:19 صبح
  4. مشکل در دیتاگرید
    نوشته شده توسط a.maleki در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 29 مهر 1388, 18:59 عصر
  5. مشکل در دیتاگرید
    نوشته شده توسط mf_engineer در بخش برنامه نویسی در 6 VB
    پاسخ: 12
    آخرین پست: یک شنبه 08 مهر 1386, 04:22 صبح

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

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

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