ورود

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



rez44
16-01-2012, 15:30
به نام خدا
در زبان برنامه نویسی سی شارپ(2008)
من دوتا فرم دارم که تو اولی یک دیتا گرید ویو هست
می خوام وقتی روی یکی از رکوردهای دیتا گریدم دابل کلیک میکنم تمام اون فیلدها در فرم دوم درون تکست باکس ها لود بشه
ممنون میشم کمکم کنید.

senaps
16-01-2012, 16:40
ممنون میشم کمکم کنید.

اگر ارتباطتون با دیتابیس از طریق کلاس باشه:
سازنده ی فرم دوم،شامل اطلاعات دریافتی از فرم اول خواهد بود(فیلد های رکورد مورد نظر که روش کلیک کردین...)...
بعدش هم که سادس.... کافیه فرم 2 به دیتابیس وصل بشه،داده های مورد نظر رو دریافت کنه و توی تکست باکس ها نمایش بده...

اگر مشکلتون اینه که چجوری داده ها رو توی تکست باکس نشون بدین،بگین تا کامل تر توضیح بدم!

rez44
17-01-2012, 02:12
اگر مشکلتون اینه که چجوری داده ها رو توی تکست باکس نشون بدین،بگین تا کامل تر توضیح بدم!

دقيقا مشكلم همينه
ممنون ميشم كدهاشو برام بزارين و كمي برام توضيح بدين

H A M A S
17-01-2012, 09:31
دقيقا مشكلم همينه
ممنون ميشم كدهاشو برام بزارين و كمي برام توضيح بدين


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این کدها رو توی رویداد CellDoubleClick بنویس
البته کدها به زبان vb.net هست که راحت با ابزارهای آنلاین میتونی به سی شارپ برگردونی

senaps
18-01-2012, 01:26
اگر همچنان مشکل دارین و کد های جناب حماس! بهتون کمک نکرده،بگین تا بگم!!

rez44
18-01-2012, 09:28
دوستان از همتون تشکر میکنم
اما اون کدها هم جواب نداد:41::41::41:
ممنون میشم بیشتر کمکم کنید

عــــلی
19-01-2012, 14:40
بنام خدا.
سلام.
در فرم دوم خود که کادر متن وجود دارید فیلد زیر را اضافه کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در کد بالا textBox1 نام کادر متنی میباشد که میخواهید فیلد دیتاگراد در آن قرار بگیرد.
در فرم اول خود به رویداد CellDoubleClick دیتاگرید رفته (همانطور که یکی از دوستان اشاره کردند)و کد زیر را تایپ کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق و سربلند باشید.
یا علی:11:

H A M A S
19-01-2012, 15:16
البته یادم رفت بگم که در آخر باید فرم2 رو نمایش یدید....
یعنی در آخر کدی که من نوشتم بنویس frm2.show()

shotok
21-01-2012, 10:35
البته یادم رفت بگم که در آخر باید فرم2 رو نمایش یدید....
یعنی در آخر کدی که من نوشتم بنویس frm2.show()
با سلام
از اینکه وسط بحث وارد می شم عذر می خوام:11:
درست نیست که یک فرم به کنترل های فرم دیگه (textBox,...) دسترسی داشته باشه.
در لینک زیر به صورت مبسوط راجع به این موضوع بحث شده است.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

rez44
29-01-2012, 10:13
بنام خدا.
سلام.
در فرم دوم خود که کادر متن وجود دارید فیلد زیر را اضافه کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر کد بالا textBox1 نام کادر متنی میباشد که میخواهید فیلد دیتاگراد در آن قرار بگیرد.
در فرم اول خود به رویداد CellDoubleClick دیتاگرید رفته (همانطور که یکی از دوستان اشاره کردند)و کد زیر را تایپ کنید:

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



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


اما در جوابی که شما مطرح فرمودین، فقط یک خونه و اون هم در یک تکست باکس(تکست باکس 1) نمایش داده میشه.

عــــلی
29-01-2012, 13:28
بنام خدا.
سلام.

ممنون از پاسخدهی عالیتون. واقعا تشکر میکنم. اما همونطور که در سوالم مطرح کردم



اما در جوابی که شما مطرح فرمودین، فقط یک خونه و اون هم در یک تکست باکس(تکست باکس 1) نمایش داده میشه.
این یک نمونه بود که بتونید کار کنید.خوب الان باید بقیه فیلد ها رو خودتون بذارید دیگه:46:.
شما در دیتا گرید دارای سطر ها و ستون هایی هستید.
شما میخواهید یک ستون را دریافت و به ازای هر سطر آنرا در کادر متن نمایش دهید.
e.ColumnIndex همان ستونی است که انتخا شده است.
e.RowIndex آن سطری است که انتخاب شده است.
مثلاً اگر شما دوتا کادر متن دارید و میخواهید با انتخاب یک ستون سطرها در کادر متن ها قرار گیرند.
باید دوتا فیلد بسازید که من در بالا یکی ساختم مثلاً یه فیلد DataName برای نام و یه فیلد DataID برای آیدی.
حال در کد دابل کلیک مثلاً برای کادر متن 1:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کادر متن 2:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حال برای نمایش فرم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق و سربلند باشید در پناه حق.
:11:

H A M A S
29-01-2012, 16:42
دمت گرم حاج علی....استفاده کردیم...

H A M A S
29-01-2012, 20:19
آقا علی فقط یه سوال کوچیک:اگر مثلا دیتاگرید 10 تا ستون(کد-نام-تلفن و....) داشته باشیم.باید 10 تا Property بسازیم؟؟درسته؟

عــــلی
29-01-2012, 23:12
سلام.
اصولاً اینکار غیر قانونیه:31:.
شما باید یک اینترفیس یا یک کلاس طراحی کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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

H A M A S
30-01-2012, 19:28
سلام.
اصولاً اینکار غیر قانونیه:31:.
شما باید یک اینترفیس یا یک کلاس طراحی کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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

الان شما یه کلاس به نام person ساختی
برای اینکه به این property های این کلاس خواسته باشیم مقدار بدیم(در اینجا مقادیر ستون های یک سطر انتخاب شده در دیتاگرید)
الان چه طوری توی قسمت get -مقدار تکست باکس ها رو برگدونیم؟؟
برای مقدار دهی به این proprty ها اول باید یک شئ از کلاس person ایجاد کرد؟درسته؟
بعدش چطوری این proprty های داخل کلاس مقدار دهی میشن؟؟
میشه بی زحمت یه مثال کوچولو و جامع بزنی:31::11:

عــــلی
30-01-2012, 22:00
سلام.
مثلاً میخواهید Text یک کادر متن رو به این کلاس بایند کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
الان هر وقت کادر متن رو تغییر بدید مقدار p.Name برابر با متن کادر متن میشه:46:.

ghasem110deh
03-05-2015, 22:32
سلام
نیاز من تقریبا برعکس این خواسته دوستمونه !
.
.
.
من تکست باکس تو فرم اولم دارم ... واسه پر کردن یه باتون گذاشتم که فرم دوم بصورت شودیالوگ باز میشه و توش یه گریدویو هستش ، که میخوام با دوبار کلیک روی هر سط فقط شماره آیدی (ستون اول) بره تو تکست باکس فرم اول !
لطفا راهنمایی کنید :)

abyzn
27-08-2015, 00:28
سلام به اساتید
آقایون توی سی شارپ من هر چی میگردم روال datagridview celldoubleclick رو پیدا نمیکنم
اگرم خودم دستی اضافه کنم با دابل کلیک روی دیتا گرید ویو هیچ عملی انجام نمیشه

لطفا بگید آیا در سی شارپ میتونیم از روال celldoubleclick استفاده کنم که هر وقت دبل کلیک کردیم روی دیتا گرید ویو یک کدی اجرا بشه ؟
ممنون

vahid saadat 28
26-04-2016, 17:15
سلام دوستان من میخوام در دیتا گرید وقتی روی یکی از فیلد هام کلیک میکنم برای ویرایش به فرم دیگه ای بره که چندتا تکست باکس هست که بتونم ویرایش کنم ممنوم میشم کمک کنین