PDA

View Full Version : مبتدی: چگونه در برنامه ام رکوردهای دو عدد Dataset یا DataTable رو با هم Sync کنم ؟



مهرداد3296
دوشنبه 10 مهر 1396, 18:21 عصر
سلام خدمت اساتید محترم
من به یه مشکلی تو ساخت برنامه ام برخوردم میخواستم ببینم میتونید کمکم کنید :
من یه فرم شماره یک دارم تو برنامم که یه datagrid داره به این صورت :
146571
این دیتاگرید به یه دیتاست وصل هست که commandtext اون به این صورت هست :
select [VamName],[GhestNo],[GhestDate],[GhestPrice] from Ghest inner join Vam on Ghest.VamId = vam.VamId
where vam.PersonelId = "...." and ( Ghest.GhestDate <= "....date..." )and Ghest.SalaryId is null
حالا وقتی رو دگمه اضافه کلیک میکنم یه فرم شماره دو باز میشه که توش یه دیتاگرید دیگه هست که توش کل اقساط رو نشون میده و کاربر میتونه از توش یه قسط دیگه انتخاب کنه و به فرم شماره یک اضافه کنه :
146572

CommandText این دیتاگرید به این صورت هست :
select [VamName],[GhestNo],[GhestDate],[GhestPrice],[SalaryId],Ghest.VamId from Ghest inner join vam on Ghest.VamId= vam.VamId
where Ghest.SalaryId is null and Vam.PersonelId = id
خب حالا مشکل اینجاست که میخوام وقتی فرم 2 باز میشه تو دیتاگرید رکوردی که تو فرم یک هستش رو نشون نده یعنی مانند تصویر رکوردی که شماره قصدش 3 هست رو تو فرم دو نشون نده
در واقع چیزی که به ذهن خودم میرسه تو فرم دو دیتاست علاوه بر دستور sql کامند تکتسش باید رکوردهایی رو که تو فرم یک هستش رو هم حذف کنه
که به نظرم این نیاز به یه بهمگام سازی یا sync بین دو تا دیتاست داره ولی چجوریشو نمیدونم
ممنون میشم کمک کنید مچکرم :متفکر::متفکر:

Mahmoud.Afrad
سه شنبه 11 مهر 1396, 00:56 صبح
شرط تاریخ را به دومین کوئری اضافه کنید و تاریخ های بزرگتر را دریافت کنید.

مهرداد3296
سه شنبه 11 مهر 1396, 01:13 صبح
شرط تاریخ را به دومین کوئری اضافه کنید و تاریخ های بزرگتر را دریافت کنید.

متاسفانه نتونستم درست منظورمو برسونم.. اونم احتمالا به خاطر اینه که رکورد هایی که تو عکس گذاشتم برا مثالم خوب نبوده .
ببینید کاربر ممکنه تو فرم دو بیاد مثلا فقط قسط شماره 7 رو انتخاب کنه(قسط های قبلی که تاریخشون پایینتره رو انتخاب نکرده )
بعد که کاربر دو باره این فرم دو رو دفعه بعد باز میکنه طبق اون چیزی که شما گفتید رکورد هایی که تاریخشون از قسط 7 بزرگتره رو نشون میده در حالیکه فقط باید قسط شماره 7 رو نشون نده و قسط ها با تاریخ پایین ترم نشون بده ..

رامین مرادی
سه شنبه 11 مهر 1396, 08:49 صبح
متاسفانه نتونستم درست منظورمو برسونم.. اونم احتمالا به خاطر اینه که رکورد هایی که تو عکس گذاشتم برا مثالم خوب نبوده .
ببینید کاربر ممکنه تو فرم دو بیاد مثلا فقط قسط شماره 7 رو انتخاب کنه(قسط های قبلی که تاریخشون پایینتره رو انتخاب نکرده )
بعد که کاربر دو باره این فرم دو رو دفعه بعد باز میکنه طبق اون چیزی که شما گفتید رکورد هایی که تاریخشون از قسط 7 بزرگتره رو نشون میده در حالیکه فقط باید قسط شماره 7 رو نشون نده و قسط ها با تاریخ پایین ترم نشون بده ..

چرا لقمه رو میپیچونید؟
دوست من یه ستون مثلا به اسم پرداخت ایجاد کن از نوع بولین 0و1
هر وقت کاربر پرداخت انجام داد 1 کن بقیه 0 بمونن.
تو سلکتتون هم برای پرداخت شده ها اونایی رو انتخاب کن که ستون پرداختش1 هست. و تو جدول قسطهای مونده هم ستونی رو انتخاب کن که پرداختشون 0 هست.