PDA

View Full Version : سوال: چه طوری از روی یک فرم ،فرم دیگری (که هم اکنون باز است)را بازسازی کنیم



shocraneh
یک شنبه 29 خرداد 1390, 07:26 صبح
اسلام
یک دیتاست پرشده و اطلاعات اون در یک تکس نمایش داده شده. حالا از روی این فرم،فرم دیگری را لود می کنیم(فرم او ل بسته نمی شود)
و اطلاعات فرم دوم را که در واقع همان اطلاعات به نمایش در آمده در فرم اول است ، راویرایش می کنیم
حال باید با بستن فرم دوم ،اطلاعات فرم اول بازسازی و تغییر کند.
چه طوری از روی یک فرم ،فرم دیگری (که هم اکنون باز است)را بازسازی کنیم

bazardeh
یک شنبه 29 خرداد 1390, 08:04 صبح
اگه منظورت اینه که اطلاعات را در فرم 2 ویرایش و ذخیره می کنی کافی که موقع فراخوانی فرم 1 ، فرم لود شو صدا بزنی که آخرین تغییرات را نشون بده

shocraneh
سه شنبه 31 خرداد 1390, 11:32 صبح
نه منظورم این نبود . فرم یک من باز است و یک کمبو داره که مثلا در اون لیست افراد موجوده. حالا میفهمیم یه نفر اسمش تو لیست نیست یه دکمه گذاشتم که فرم مربوط به ثبت اعضا رو بیاره (فرم اول رو نمی بندم ). حالا تو فرم دوم ثبت رو انجام می دم و فرم رو می بندم . حالا فرم دوم باید دوباره سازی بشه .البته فقط مقادیری که به بانک اتصال دارند و تکس های دیگه ای که کاربر قبلا پر کرده بود نباید از بین برند.؟؟

یا یه مثال دیگه : فرم اصلی لود شده حالا یه فرم دیگه باز میکنیم و از طریق اون می خام تکس فرم اصلی رو عوض کنیم . در اینجا هم یک بازسازی مجدد لازم داریم ؟؟؟؟

nobinobinobi
سه شنبه 31 خرداد 1390, 11:57 صبح
سلام دوست عزیز در پستت به فرم هات اسم بده تا فهم مشکل راحت تر بشه به هر حال تو میتونی در فرم 1 منبع کمبو رو دستی ست کنی و همچنین فرم 2 رو frm2.ShowDialog() صدا کنی و بعد از این خط بلا فاصله دوباره منبع(datasource)کمبو تو پر کنی.

shocraneh
چهارشنبه 01 تیر 1390, 08:41 صبح
راه حلش اینه در formclosing فرم 2 , form1.show()

gwbasic
چهارشنبه 01 تیر 1390, 11:36 صبح
راه حلش اینه در formclosing فرم 2 , form1.show()

به نظر نمی رسه راه درستی باشه؟!؟!؟!؟!

همون راهی که nobinobinobi گفتند درسته یا اینکه پشت دو فرم یک object باشه و اون object به کنترل ها Bind شده باشه تا با تغییرات object بتونه form بروز آوری بشه

shocraneh
چهارشنبه 01 تیر 1390, 13:17 عصر
بله فرم شو درست نیست زیرا فرم را مجددا باز می کند و من نمیخام مقادیر تکس هایی که قبلا روی فرم
پر کرده ام خالی بشه .
من تابع مربوط به پر شدن دیتاست در فرم اول رو از نوع publicتعریف کردم و اونو از فرم دوم فراخوانی می کنم
خط به خط که اجرا می کنم کدها همه اجرا میشن ولی نمی دونم چرا مقادیر کمبو ای که به دیتاست وصل است
تغییری نمی کند.حتی کمبو رو هم refreshمی کنم اما فایده ای نداره. تعریف دیتا ست هم مشکلی نداره
DS = new DataSet();

در ضمن هر کاری کردم که ایونت فرم لود ،فرمم رو فراخوانی کنم، نشد به گمونم تو سی شارپ این امکانش نیست

gwbasic
چهارشنبه 01 تیر 1390, 14:29 عصر
نمی دونم چطوری کدتون رو نوشتید ، برای بروز آوری یه بار comboBox.DataSource رو null کنید بعد دوباره با dataSet ست کنید مشکلتون حل می شه ولی راه اصولی Bind کردن رو در یه تاپیک با عنوان DataBinding توضیح دادم می تونید از اون استفاده کنید