PDA

View Full Version : حرکت بین رکوردها



jeniferxp
شنبه 03 مرداد 1388, 12:01 عصر
با سلام
دوستان من در یک فرم یک گریدویو دارم وقتی سطری از آن را کلیک میکنم اطلاعات آن سطر درون textbox هایی که در فرم دوم قرار دارد ریخته می شود حال میخوام در فرم دوم یک دکمه رکورد قبلی و یک دکمه رکورد بعدی بگذارم ولی نمیدونم چگونه کد مربوط به رکورد بعدی و رکورد قبلی را بنویسم (البته بدون اینکه textbox ها به دیتابیس بایند بشه )
با تشکر

Unknownlive
شنبه 03 مرداد 1388, 12:36 عصر
برای اینکه کلیک می کنی بریزه می تونی یک Contex menu بهش نسبت بدی یا در رویداد کلیک کد زیر را بنویسی
sMain.id = (Int32)dt["id", dt.CurrentRow.Index].Value;
dt نام Data Grid View
id فیلد مورد نظر
smain.id نام متغیر از Struct

jeniferxp
شنبه 03 مرداد 1388, 12:51 عصر
ببخشید من خیلی خوب متوجه نشدم میشه بیشتر توضیح بدید
ببینید من میخوام کدای next record و previous record رو دستی بنویسم

با تشکر

seven7777777
شنبه 03 مرداد 1388, 22:40 عصر
دوست عزیز شما برای این کار می تونید از روابط بین فرم های پدر و فرزند استفاده کنید .
بهترین روش و البته راحتترین روش :

شما دیتاگریدت رو به فرم دوم پاس بده ( تو متد سازنده فرم دومت اونو بگیر و تویه یه شی از نوع DataGridView که خارج از فرم سازنده تعریف کردی بریز )
بعد در داخل فرم دوم به تمام رکورد های دیتاگریدت تو فرم اول دسترسی داری . اگه Next رو زد ، مثل حالت عادی رکورد بعدی و اگه Pre رو زد رکورد قبلی رو می خونی و داخل تکست باکس هات میریزی .

انشاالله که متوجه شدی !!!

jeniferxp
یک شنبه 04 مرداد 1388, 07:29 صبح
ببینید من در فرم دومم میخوام با زدن دکمه next و previous بدون اینکه textbox ها به دیتابیس بایند شده باشند با کمک dataset بین رکوردها جلو و عقب برم راستش نمیدونم چجوری رکورد جاری رو جلو و عقب ببرم
ممنون میشم سوال منو پیگیری کنید

mn_zandy63
دوشنبه 05 مرداد 1388, 01:49 صبح
اگه در فرم اولت از Binding Source استفاده کنی. میتونی اون رو به فرم دومت پاس کنی.
در فرم دومت با کلید های Back و Next با اجرای توابع MoveNext و MoveBack از BindingSource هم گرید رو در فرم اول Update میکنی هم فیلد های فرم دومت رو.
کافی است در رویداد PositionChanged مربوط به Binding Source در فرم اول٬ TextBox های فرم دوم رو مقدار دهی کنی.

jeniferxp
دوشنبه 05 مرداد 1388, 07:27 صبح
میشه لطفا بیشتر توضیح بدید؟؟؟؟؟ ممنون میشم