PDA

View Full Version : اعمال تغییرات در جدول در فرم دیگر



javad_r_85
دوشنبه 15 شهریور 1389, 18:22 عصر
با سلام
من یه گرید دارم و یه دکمه جدید که وقتی روی اون کلیک میشه یه فرم دیگه باز میشه و دادها دراون فرم وارد می شه و زمانی که کاربر دکمه تایید را میزنه تغییرات در جدول همزمان اعمال شود و جدول به روز شه برای اینکار نیز یه متد عمومی نوشتم و اونا فرا خوندم ولی نمی دونم چرا جواب نمی ده .
دوستان لطفا کمک کنید.

mmd2009
دوشنبه 15 شهریور 1389, 18:52 عصر
با سلام

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

موفق باشی

javad_r_85
دوشنبه 15 شهریور 1389, 19:18 عصر
داداش دمت گرم .
ولی من این کدا رو می دونستم حتی یه نمونه دیگه هم بود که به صورت زیر عمل میکرد




frm_MemberDateil f = new frm_MemberDateil();

DialogResult result = f.ShowDialog();

if (result == DialogResult.Yes)
frm_Member_Load(null, null);



ولی درواقع نمی خوام فرمم بسته شه تا تغییرات اعمال شه می خوام زمانی که فرم بازه و تایید می زنم گرید در اون فرم به روز شه

javad_r_85
دوشنبه 15 شهریور 1389, 21:01 عصر
از دوستان کسی راهی به نظرش نمی رسه.

javad_r_85
دوشنبه 15 شهریور 1389, 22:22 عصر
دوستان اینقدر جواب ندادین تا خودم را ه حلشو پیدا کردم ولی نمیدونم اصولی هست یا نه کداشو میزارم خودتون قضاوت کنید





foreach (Form frm in Application.OpenForms)
{
if (frm is frm_Member)
{
frm_Member f = (frm_Member)frm;

// frm_Member f = new frm_Member();
f.dgvMember.DataBindings.Clear();
f.dgvMember.DataSource = da.Select(DataAccess.TableName.Member);
}
}

ricky22
دوشنبه 15 شهریور 1389, 22:52 عصر
سلام اینو ببینید.
http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/18a9762e-ac67-48a7-a372-55307fe344f3

javad_r_85
دوشنبه 15 شهریور 1389, 23:31 عصر
سلام اینو ببینید.
http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/18a9762e-ac67-48a7-a372-55307fe344f3

این لینکی که شما دادید برای رفرش دیتاگرید ویو هست تو همین فرم ولی من می خوام از طریق فرم دیگه اونا رفرش کنم متد هم جواب نداد دوستان اگر کد می دن کداشونا تست کنن اول. چون بیشتر این را هها را من رفتم و به نتیجه نرسیدم

میلاد قاضی پور
سه شنبه 16 شهریور 1389, 00:34 صبح
سلام . به نظر من چاره کار اینه که متدی بنویسید که اطلاعات رو مجددا بازیابی کنه .
خب بذار ببینم درست متوجه شدم یا نه . دوتا فرم دارید . دو تا گرید . فرم اولی یک باتون داره که وقتی روش کلیک میشه فرم دوم لود میشه و فرم دوم یک باتون تأیید داره . میخواید بعد از اعمال تغییرات در فرم دوم وقتی روی باتون تأییدش کلیک میشه تغییرات در هر دو فرم نمایش داده میشه . خب اینکه غصه نداره .

یک پراپرتی از نوع فرم اول در فرم دوم تعریف کنید.
قبل از شو کردن فرم دوم پراپرتی که تعریف کردید رو برابر دیس (یعنی همین فرم یعنی فرم اول) قرار میدید .
فرم دوم لود شده و تغییرات انجام شده . در بازیابی مجدد اطلاعات از دیتابیس جهت نمایش در گرید فرم دوم مشکلی ندارید اما میخواید در گرید فرم دوم هم تغییرات نمایش داده بشن . خب بنویسید
همون پراپرتی(از نوع فرم اول).گریدویو. تابع پر کردن مجدد();

alireza_wills
سه شنبه 16 شهریور 1389, 01:10 صبح
سلام
این کاری که میگم انجام بده:
تو فرم اولت احتمالاً datagridview وDataSetو Bindingsource و TableAdapter داری.برو خاصیت modifiers اونارو بکن internal یا publice
کد باز شدن فرم دومت رو بنویس

Form2 f2 = newForm2();
f2.ShowDialog();



حالا تو فرم دومت که مثلاً یه textbox داره با یه کلید برای انتقال داده به databas
این کدو مینویسی:


privatevoid button1_Click(object sender, EventArgs e)
{
DataClasses1DataContext db = newDataClasses1DataContext();
var insert = newadmin_user();
insert.id = textBox1.Text;
db.admin_users.InsertOnSubmit(insert);
db.SubmitChanges();

foreach(Form f1 inApplication.OpenForms)
{
if(f1 isForm1)
{
Form1 refresh=(Form1)f1;
refresh.admin_userTableAdapter.Fill(refresh.manage mentDashboardDataSet.admin_user);

}



}


من فرض رو بر این گرفتم که یه linQ هم برای اتصال به بانکت درست کردی و جدول Database شما یه ستون داره بنام id.از foreach به بعد اون چیزیه که می خوای
من با این کد همین الان جواب گرفتم

javad_r_85
سه شنبه 16 شهریور 1389, 08:17 صبح
دوستان لطف کنند کدهای که میزارند یا نظراتی رو که میدن اول تست کنند .
این راهها جواب نداد غیر همون راهی که عرض کردم .
من LINQ کار نکردم تا حالا اگر میشه به صور ت عادی توضیح دهید

:::...:::...:::...:::...:::...:::...:::...:::...:: :...:::تشکر...:::...:::...:::...:::...:::...:: :...:::...:::...:::...:::