PDA

View Full Version : حرفه ای: انتخاب اطلاعات از یک فرم برای فرم های متعدد



حسین.کاظمی
چهارشنبه 25 شهریور 1394, 08:36 صبح
باسلام به خدمت همگی
یه برنامه دارم مینویسم که یک بعد از ذخیره کردن اطلاعات فردی، نیروهای شرکت یک سری، خدماتی که اون شرکت به نیروها میده را ثبت کنند بالغ بر 25تا خدمات هست که هرکدوم را در فرم مجزی نوشته ام (بنا به درخواست کارفرما) حالا سوالم اینه که میخام یک فرم جست و جو بزارم و اطلاعاتی که جست و جو کرد را در اون فرم مربوطه قرار بدم(خداییش ظلمه بیام واسه هر فرمی یک فرم جست و جو بسازم)؛ ولی نمیدونم چجوری به اون فرم جست و جو بفهمونم از فرم شماره 2 فراخوانی شده اطلاعات پیدا شده را در فرم شماره 2 قرار بده.؟؟؟؟

کسی هست راهنماییم کنه یا نمونه برنامه بزاره واسم؟؟؟؟؟؟

abdullah20
چهارشنبه 25 شهریور 1394, 13:57 عصر
ایا وقتی فرم جستجو نمایان میشه باید وصل بشه به جدول مربوط به اون فرمی که فرم جستجو را باز کرده؟
وهیمن طور وقتی جستجو انجام شد داده چگونه به فرمی که فرم جستجو را باز کرده ارسال میشه؟

حسین.کاظمی
چهارشنبه 25 شهریور 1394, 14:22 عصر
ایا وقتی فرم جستجو نمایان میشه باید وصل بشه به جدول مربوط به اون فرمی که فرم جستجو را باز کرده؟
وهیمن طور وقتی جستجو انجام شد داده چگونه به فرمی که فرم جستجو را باز کرده ارسال میشه؟

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

abdullah20
چهارشنبه 25 شهریور 1394, 14:33 عصر
یعنی برای همه فرم ها کلا از یک جدول جستجو انجام میشه؟

حسین.کاظمی
پنج شنبه 26 شهریور 1394, 07:47 صبح
یعنی برای همه فرم ها کلا از یک جدول جستجو انجام میشه؟

بله.!!:لبخند:
امکانش هست؟

ahmadreza.s
پنج شنبه 26 شهریور 1394, 08:19 صبح
سلام
منم دقیقن همینکاری که میگید رو یک بار انجام دادم :لبخند: !
من اومدم تو هر فورم یه متغیر استاتیک و پابلیک گذاشتم ، مثلن تو فورم 2 یه متغیر گذاشتم (تو بقیه ی فورم ها همین صورت) به این شکل :
public static int i=2;
بعد هرموقع میخواستم فورم جستجو رو فراخوانی کنم تو سازنده ی کلاسش اون متغیر رو ارسال میکردم !
و با چنتا if و else اونو کد نویسی کردم ! مثلن اگه مقداری که ارسال شده مساوی 2 بود ، متد جستجو رو یه شکل دیگه بده ! میدونید چی میگم؟

حالا نمیدونم دیگه ، احتمالن راه حرفه ای تری هم هست که بنده اطلاعی ندارم :لبخند: ولی با همین کارت راه میوفته فک کنم

حسین.کاظمی
پنج شنبه 26 شهریور 1394, 09:44 صبح
سلام
منم دقیقن همینکاری که میگید رو یک بار انجام دادم :لبخند: !
من اومدم تو هر فورم یه متغیر استاتیک و پابلیک گذاشتم ، مثلن تو فورم 2 یه متغیر گذاشتم (تو بقیه ی فورم ها همین صورت) به این شکل :
public static int i=2;
بعد هرموقع میخواستم فورم جستجو رو فراخوانی کنم تو سازنده ی کلاسش اون متغیر رو ارسال میکردم !
و با چنتا if و else اونو کد نویسی کردم ! مثلن اگه مقداری که ارسال شده مساوی 2 بود ، متد جستجو رو یه شکل دیگه بده ! میدونید چی میگم؟

حالا نمیدونم دیگه ، احتمالن راه حرفه ای تری هم هست که بنده اطلاعی ندارم :لبخند: ولی با همین کارت راه میوفته فک کنم



مرسی از راهنماییت ولی فک نکنم این راه حل اصولی باشه از استادین خواهشمندم که بهترین راه و اصولی ترین راه را بگند!!!!!

Mahmoud.Afrad
جمعه 27 شهریور 1394, 01:10 صبح
در فرم جستجو ، شئ حاوی نتیجه جستجو (دیتاتیبل، لیست یا هر چیز دیگری) را به صورت پراپرتی دربیارید.
در فرمهای دیگر که فرم جستجو را ایجاد میکنید، اگر از متد showdialog برای نمایش فرم جستجو استفاده میکنید میتونید بعد از این متد پراپرتی مورد نظر رو بخونید و استفاده کنید.




راه بهتر هم ایجاد یک رویداد در فرم جستجو و هندل اون در فرمهای دیگر هست.

محمد آشتیانی
جمعه 27 شهریور 1394, 03:18 صبح
سلام
یعنی شما میخوای محتویات یک دیتاگرید رو از فرم جستجو ، عینا به یک دیتاگرید در فرمی که فراخوانی کننده بوده انتقال بدی؟

حسین.کاظمی
جمعه 27 شهریور 1394, 17:39 عصر
سلام
یعنی شما میخوای محتویات یک دیتاگرید رو از فرم جستجو ، عینا به یک دیتاگرید در فرمی که فراخوانی کننده بوده انتقال بدی؟

سلام
ببینید توی فرم جست و جو یه سری اطلاعات مثل اسم،فامیل،شماره پرسنلی،تاریخ تولد و... میاره
حالا توی یک فرم یک سری تکست باکس هست به نام های نام،فامیلی،تایخ تولد حالا میخام فرم جست و جو اطلاعات پیدا شده را درتکست باکس های فرم فراخوانی شده بریزه!!!!

محمد آشتیانی
شنبه 28 شهریور 1394, 23:50 عصر
سلام
برای فرم جستجو یک پراپرتی تعریف کنید از نوع دیتاتیبل (یا هر نوع دیگری که نیاز شما رو پوشش بده)
public DataTable resultDt { get; set; }

یک button هم در همین فرم قرار بدید که در پایان جستجو قراره کلیک بشه (پراپرتی DialogResult رو برابر OK قرار بدین)

private void button1_Click(object sender, EventArgs e)
{
var dt = new DataTable();
//دیتاتیبل رو در این فرم پر می کنید

resultDt = dt;
Close();
}



در فرمی که قراره فرم جستجو رو باز کنه هم به اینصورت

private void btnSearch_Click(object sender, EventArgs e)
{
using (var form = new FrmSearch())
{
var result = form.ShowDialog();
if (result == DialogResult.OK)
{
//اینجا از محتویات پراپرتی که در فرم جستجو تعریف کردی استفاده کن
dataGridView1.DataSource = form.resultDt;
}
}
}






موفق باشید.