ورود

View Full Version : سوال: ارسال اطلاعات بین دو user control



na3er-faraji
دوشنبه 29 آذر 1389, 16:20 عصر
سلام فرض کنید یک یوزر کنترل داریم که داخلش یک گرید ویو قرار داره و یک یوزر کنترل دیگه که داخلش تعدادی تکست باکس . هر کدوم از این یوزرکنترل ها داخل یک صفحه قرار دارند یا ممکنه دو تاشون داخل یک صفحه باشند. من در قسمت edit دیتاگریدم یک دکمه image button گذاشتم. میخام با کلیک روی اون اطلاعات فیلد انتخاب شده روی گرید به تکست باکس ها انتقال پیدا کنه برای ویرایش. قبلا با این کار مشکل نداشتم اما چون الان با یوزر کنترل کار میکنم یه کم گیج شدم میشه دوستان راهنمایی کنند؟؟؟

sokote_bi_payan
سه شنبه 30 آذر 1389, 10:09 صبح
به نام خدا
سلام
برای اینکار باید از Property استفاده کنید
اگه مشکلی داشتید بگید تا کامل تر توضیح بدم
موفق باشید
یا علی

na3er-faraji
سه شنبه 30 آذر 1389, 11:17 صبح
عزیزم اگه توضیح بدید که خیلی عالی میشه. یعنی به uc پراپرتی اضاف کنیم. لطفا توضیح بدید کامل مطمینم به درد آیندگان هم خواهد خورد.

sokote_bi_payan
سه شنبه 30 آذر 1389, 11:23 صبح
بله به UC پراپرتی اضافه کنید اون موقع می تونید به مقادیر وارد شده در تکست باکس هاتون دسترسی داشته باشید
مثلا



public Property P_CI_NAME() As String
Set(ByVal value As String)
txtName.text = value
End Set
Get
Return txtName.text
End Get
End Property

na3er-faraji
سه شنبه 30 آذر 1389, 14:25 عصر
عزیزم من فقط مشکلم اینه که id اون سط گریدویو رو نمیتونم ریدایرکت کنم به صفحه دیگه. فک میکنم سوالمو بد متوجه شدین. میخام id رو بفرستم صفحه دیگه اون جا هم میگیرم یه سلکت میزنم اطلاعات ور از تو بانک دیگه. من داخل گرید ویو یه ففیلد از نوع تمپلیت دارم که داخلش یک Image Butoon داره. میخام رو اون که کلیک شد ریدایرکت بشه id به صفحه دیگه . اما نمیشه.

na3er-faraji
سه شنبه 30 آذر 1389, 16:32 عصر
آقا فهمیدم قضیه چیه. وقتی تو یه صفحه عادی میزارم رویداد Row_command که من لازمش دارم هندل میشه. اما وقتی این یوزر کنترل که توش یه دیتاگریده رو میزارم تو صفحه ای که از یه مسترپیج استفاده کرده دیگه رویداد Row_command کار نمیکنه. کسی میدونه باید چیکا کنم؟؟؟

sokote_bi_payan
چهارشنبه 01 دی 1389, 08:46 صبح
شما برای اینکار می تونید یه پراپرتی ID ردیفی که سکلت شده رو می نویسید. بعد یه پراپرتی هم برای رویدادهاتون می نویسید(اسمش من میزارم EventName) مثلا وقتی فرم لود می شه Eventname رو به مقدار FormLoad مقداردهی کنید. یا وقتی RowCommand اتقاق افتاد هم به همین منوال. بعد از این مرحله تو فرم اصلی تون که این دو تا UC رو گذاشتید تو ایونت PreRender چک می کنید این کنترل تون تو چه ایونتی هست اگه RowCommand اتفاق افتاده از پراپرتی Id استفاده کنید و بفیه کاراتون انجام بدید........
یا علی

simple
شنبه 06 مهر 1392, 07:43 صبح
به نظرم شما مي تونيد فيلد ID رو در viewstate ذخيره كنيد و از اونور هم فراخوانيش كنيد. بدون اينكه از سشن استفاده كرده باشيد و يا حتي كوئري استرينگ!