مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

پاس دادن اطلاعات DataGridView به فرم جدید و ویرایش اطلاعات آن

پنج شنبه, 25 بهمن 1397 02:09

پاس دادن اطلاعات DataGridView به فرم جدید و ویرایش اطلاعات آن

با سلام و عرض خسته نباشید

در برنامه Windows Forsm میخواهم اطلاعات یک سطر از DataGridView را به فرم دیگر ارسال کنم و در آنجا توسط Entity Framework مورد ویرایش قرار دهم ، ولیکن مشکل اینجاست که از طریق Constructor نمیتوانم اینکار را انجام دهم چون تعداد آرگومانها زیاد هستند ،DataGridView ، به طور کلی 11 ستون دارد و فکر نمیکنم کار جالبی باشه که اونها را به عنوان پارامتر به Constructor پاس بدم ، نظر شما چیه ؟ آیا راه حلی برای ویرایش وجود داره ؟؟ 

پنج شنبه, 25 بهمن 1397 09:31

سلام.بهتره لیستی از یک مدل را ابتدا Fill کنید سپس مدل را به دیتاگرید Bind کنید. (حتما این متغیر لیست public باشد و متغیر محلی نباشد)

 Id ردیف انتخاب شده دیتاگرید را بدست بیاورید و توسط اون آیدی از لیست خود(بالا تعریف کردیم) سلکت بزنید.

حالا شما یک مدل دارید که می تواند شامل n فیلد باشد. مدل را به سازنده فرم بعدی پاس بدید.

کسانی که از این پست تشکر کرده اند : robinashly,
پنج شنبه, 25 بهمن 1397 10:33

سلام

راه پیشنهادی بنده نیز تا حدودی شبیه راهکار برادرمون جناب آقا رضای نصیری می باشد ولیکن با کمی تغییرات!

بهترین و امن ترین و مطمئن ترین و هوشمندترین و عاقلانه ترین راه برای پاس دادن اطلاعات از یک فرم به فرم دیگر استفاده از Constructor  می باشد و لاغیر!

حالا شما یم فرمایی تعداد اطلاعاتت زیاد است باز هم ایرادی ندارد! شما یک viewModel  درست کنو در فرم اول از این مدل یک شی بساز و این مدل را با اطلاعاتت پر کن و پاس بده به فرم دیگرت! در فرم دوم هم از طریق Constructor  فقط یک شی را دریافت کن!

اینکه شما یک متغیر Public  بسازی و اطلاعات را از اون طریق ارسال کنی کاری است بس عبث! برادر من، شما اینجوری که زار و زندگی پروژه را می فرستی هوا!!!!!!!!

پنج شنبه, 25 بهمن 1397 10:54
باتشکر از اقای قاسمی. بنده نگفتم متغیر عمومی بساز و اونو پاس بده :) عرض کردم لیستی از مدل رو داشته باش و از اون طبق آیدی ردیف انتخاب شده یک ردیف سلکت کن، و اون ردیف یک مدل برمیگردونه. همونو تو کانستراکتور بفرست. دیگه نیاز به ویومدل اضافی هم نداریم. منظورم از پابلیک بودن این بود که بالای فرم تعریف کنه تا همه جای فرم در دسترس باشه.
پنج شنبه, 25 بهمن 1397 11:25
سلام بر رضاجان نصیری من عذرخواهی میکنم برای کج فهمی خودم. دوستت داریم.
پنج شنبه, 25 بهمن 1397 12:34
بزرگواری مهندس. تحویل درس بود خدمت شما

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید