PDA

View Full Version : سوال: اجرا كردن يك تابع در فرم اول



hamzehsh
شنبه 30 مرداد 1389, 16:08 عصر
سلام
من تو تا فرم دارم
1- FrmRepair
2- FrmAdmit

در فرم اول بعد از كليك كردن فرم دوم باز ميشه
وقتي فرم دوم بازشد كاربر ميتونه اطلاعاتي رو روي بانك ذخيره كنه.

حالا ميخوام وقتي كه هر ديتايي رو ذخيره ميكنه گريدي كه در فرم 1 دارم توسط تابع خودش دوباره پربشه.

يعني اينكه توي فرم دومم بتونم توابع رو توي فرم اول بازخوني ميكنه؟
راه حلي داره يا اينكه بايد هر دفعه فرم دوم رو ببندم؟

pystar
شنبه 30 مرداد 1389, 16:14 عصر
با سلام
شما ميتوني تابعي رو كه اين كار پر كردن رو انجام ميده سراسري تعريف كني.يا اصلا تو فرم اولت كد مربوط به پر كردن رو از طريق بانك انجام بدي نه با تابع داخل فرم دوم. چرا پيچيده اش ميكني؟

ricky22
شنبه 30 مرداد 1389, 16:22 عصر
قبل از هربار که دوباره فرم اول را باز کنی گرید اون را رفرش کن یعنی دیتابایند اون رو صدا بزن.

hamzehsh
شنبه 30 مرداد 1389, 16:24 عصر
فرم ادميت يك فاكتوره
در فرم اول مشخصات خريدار و ريز فاكتور دارم
در فرم دوم ريز جنسها رو بهش اضافه ميكنم.
ميخوام وقتي كه جنس اضافه شد بعدش بياد گريد ريزاجناس رو رفرش كنه
يعني دوباره اين تابع رو روي فرم بازخوني بكنه كه گريد پر بشه

تابعي كه گريد رو پر ميكنه به صورت زير است.

fillgrid(datagrid , "select * from factor )

amirh_karimifar
شنبه 30 مرداد 1389, 17:18 عصر
یک data set توی form 1 تعریف کن . وقتی که اطلاعات form2 رو توی data set اضافه کردی .
اون روی datasete اولی لود کنی . بعد datagrid رو دوباره لود کنی .

mahdi87_gh
شنبه 30 مرداد 1389, 17:26 عصر
تابع fillgrid که در فرم اول قرار داره رو بصورت پابلیک تعریف کن . در فرم دو هر موقع خواستی گرید فرم1 رو بروز کنی از کد زیر استفاده کن:

if ((Application.OpenForms["form1"] as Form1) != null)
(Application.OpenForms["form1"] as Form1).fillgrid();

hamzehsh
شنبه 30 مرداد 1389, 21:29 عصر
ممنون ولي مشكل هنوز پابرجاست

متوجه منظور شما نميشوم و كد ها هم درست كار نميكند.

mahdi87_gh
شنبه 30 مرداد 1389, 21:43 عصر
بجای form1 اسم فرم خودتون رو بنویسید. همون فرمی که تابع fillgrid درونش تعریف شده