ثبت اطلاعات در دیتاگرید دارای اطلاعات
سلام
یک دیتا گرید داریم که هنگام لود صفحه اطلاعات مربوطه از جدول بانک اطلاعاتی خوانده میشود و داخل دیتاگرید مورد نظر نمایش داده میشود
حال می خواهم بصورت
gvListPerssonel.Rows.Add("a",1,"c");
داده وارد کنم
پیام خطا زیر ظاهر میشود
Collection was of a fixed size.
و برنامه متوفق میشود
درصورتیکه اگر دیتاگرید فاقد داده ای باشد اطلاعات ثبت میشود
لطف کنید و بگویید چه کدی باید بنویسم
باتشکر
2 پاسخ
فکر کنم این خطا مال موقعی هست که دیتاگرید به چیزی Bind شده باشد. مثلا در حالت زیر (با فرض داشتن جدولی به نام Persons در پایگاه داده):
var prs = databaseContext.Persons; myDatagrid.datasource = prs;
در این حالت اگه بخوای دستی داده درون دیتا گرید وارد کنی با خطا مواجه میشی. برای رفع اش هم باید به جای تغییر دیتاگرید بری datasource ایی که دیتاگرید بهش bind شده رو update کنی. اون وقت تغییرات به صورت اتوماتیک درون دیتاگرید منعکس میشوند.
دوست عزیز
ابتدا یک datatable ایجاد کن با ستونها و سطرهای موجود در دیتاگرید .سپس اطلاعات دیتا گرید را داخل اون بریز.
حالا سطر جدید را به datatable اضافه کن.
حالا دیتا سورس قبلی دیتا گرید را پاک کن و دیتاسورس جدید را برابر با دیتا تیبل ساخته شده قرار بده
البته ناگفته نمونه که در این حالت اطلاعات دیتا گرید در دیتا بیس ذخیره نمیشه که برای ذخیره اون باید کد های مجزا بنویسی