مشاهده نسخه کامل
: نمایش دو جدول در یک Datagrid
سلام
نمیدونم جالبه یا نه، ولی تو اکثر فروم ها سوال اینکه چطور میتونم دو تا جدول رو تو یه Data Grid نشون بدم. (ولی در مورد حالت من) Data Grid دو تا جدول رو نشون میده.
وقتی توی فرم گزارش ورود پرسنل بر اساس تاریخ، دیتاهام رو ف.یلتر میکنم (واسه کار آموزشی مجبورم ف.یلتر کنم) مشکلی نیست ولی اگه برم یه فرم (شامل یه جدول دیگه) دیگه رو باز کنم و بعد برگردم به فرم گزارش ورود پرسنل ، فیلدهای اون جدول به Data Gridم اضافه میشه.
مشکل کجاست؟
shalineh
29-05-2009, 10:56
وقتی توی فرم گزارش ورود پرسنل بر اساس تاریخ، دیتاهام رو ف.یلتر میکنم (واسه کار آموزشی مجبورم ف.یلتر کنم) مشکلی نیست ولی اگه برم یه فرم (شامل یه جدول دیگه) دیگه رو باز کنم و بعد برگردم به فرم گزارش ورود پرسنل ، فیلدهای اون جدول به Data Gridم اضافه میشه.
مشکل کجاست؟
حدس میزنم که هر دو تا دیتا گرید ( در هر دو فرم ) از یک منبع اتصال استفاده میکنند. بهتره قبل از پر کردن دیتا تیبل و دیتا گرید ، دیتا تیبل رو ریست کنی. اگه مشکلت حل نشد، منبع اتصال این دو تا دیتا گرید رو جدا کن.
شالینه جان
فضولی نشه، چرا پیغام خصوصیت غیر فعاله.
مجبور بودم اینجا بگم
دوستان ببخشید
به خاطر برخی مسائل، پروفایلم رو به مدت نامعلومی بسته ام!!! :11:
به خاطر برخی مسائل، پروفایلم رو به مدت نامعلومی بسته ام!!!
جز جیگر بگیره اون که باعث و بانی برخی مسائل شده دی:
حدس میزنم که هر دو تا دیتا گرید ( در هر دو فرم ) از یک منبع اتصال استفاده میکنند. بهتره قبل از پر کردن دیتا تیبل و دیتا گرید ، دیتا تیبل رو ریست کنی. اگه مشکلت حل نشد، منبع اتصال این دو تا دیتا گرید رو جدا کن.
مشکل حل نشد. منظور از منبع اتصال دو تا دیتا گرید چیه؟ دو تا ِDataGrid ، تو دو تا فرم جدا از هم، با نامهای متفاوت و جدول های متصل متفاوت دارم. متوجه نشدم!!!!؟؟! (آخه یکی نیست بگه تو چی رو متوجه میشی؟!!!)
1
shalineh
29-05-2009, 14:20
باز هم باید کدها رو ببینم. تا بفهمم چه دسته گلی به آب دادی. البته فقط کدهای اون دو تا فرم رو. همینجا بذار.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فرم پرستل هم همونه.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
shalineh
29-05-2009, 17:02
با توجه به پست اول شما در این تاپیک که فرموده اید فقط در موقع فیـلتـر بر اساس تاریخ، این مشکل برای شما پیش میاد ، پس این قطعه کد از فرم frmArrivalReport را خط به خط بررسی می کنیم :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در خط اول شما اومدین و دستور کوئری رو صادر کردین. در خط دوم و سوم هم دیتا تیبل رو پر کردین و جدول رو نامگذاری کردین. تا اینجا هیچ مشکلی نیست. :20:
در خط چهارم، دیتاویو رو با دیتاتیبل پر کردین. و در خط بعدی عملیات فیــلتــر گذاری رو انجام دادین. باز هم به قول اجنبی ها تا اینجا هم No Problem. :46:
و آمما ... :31:
در خط ششم: دیتاگرید رو به دیتاویوی فیـــلتر شده وصل کرده ای. این خط رو به خاطر بسپار.
از این خط به بعد زنجیره ای از تکرار مککرات پدید می آید. وظیفه خط هفتم به بعد این است: تولید باگ تا آخرین حد توان. :27:
پتروس عزیز، خط هفتم تا آخر را حذف کن. در نهایت کد رو بصورت زیر اصلاح کن:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به احتمال نیم درصد :46: مشکلت حل خواهد شد. ولی اگه باز هم مشکلی بود باید کل پروژه رو واسم آپ کنی. به همراه دیتابیس ( که البته دیتاهاش رو حذف باید بکنی و فقط چند تا رکورد باقی بمونن تا حجمش کم بشه).
shalineh
29-05-2009, 19:20
البته بهتره به این صورت اصلاح کنی، درجه اطمینانش بیشتره:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من امشب آپ میکنم
درست نشد
پست بالایی رو با موبایل فرستادم.
اینترنت در دسترس نبود.
عزیز 500K که چیزی نیست. شرمنده. دانلود کن.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
shalineh
30-05-2009, 23:07
پتروس عزیز، برنامه ات رو دیدم. اگه از دستم دلخور نمیشی باید بگم که یک برنامه سرسام آور نوشتی. برنامه ای پر از کدهای هرز ، ارجاع های بی مورد، اشغال منابع با متغیرهای بی مورد ، عدم آزاد کردن منابع پس از استفاده ( تمام متغیرهای گلوبال پس از ایجاد و استفاده به امان خدا رها شده است و این کار باعت میشه که عرق CLR جهت مدیریت منابع در بیاد )
در برنامه شما به حدی کدهای بی مورد زیاد هست که من در یکی از روالهای شما، کاری رو که شما با 17 خط کد، انجام داده بودید رو فقط و فقط با 5 خط کد انجام دادم که در زیر نشان داده شده است.
و اما به خاطر جلوگیری از اطاله کلام ، هیچ اشاره ای به سایر ایرادها نمی کنم. و مستقیما میرم سر باگ مورد اشاره شما.
همانطوریکه حدس زده بودم و حدسم هم درست بود ، این باگ به دلیل استفاده از منبع اتصال مشترک ایجاد شده است. آخه پسر خوب، شما اومدی دیتاگرید رو در فرم اول به همان دیتا تیبلی وصل کردی که دیتاگرید دوم هم از همون منبع اتصال استفاده میکنه. بدون اینکه دیتاتیبل رو ازاد کرده باشی. در هر بار Fill کردن دیتاتیبل، اطلاعات جدید ، به دیتاهای قبلی افزوده میشه، لذا در هربار گشودن فرم جدید رکوردهای قبلی به جای Replace شدن، Append میشدن.
به هر حال با توجه به کدهای بی مورد زیادی که نوشتی، من نمیتونستم کل برنامه ات رو چک کنم. لذا از تجربه اندکم استفاده کرده و یک میانبر زدم و برنامه ات رو اصلاح کردم. ( در ادامه ، کدهای اصلاح شده را خواهی دید ).
این اصلاحیه استاندارد نیست، اما مشکلت رو حل میکنه. به هرحال برنامه شما کلا باید زیر و رو بشه.
کدهای زیر رو که نوشتم جایگزین کدهای قبلی بکن.
فرم frmArrivalReport
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فرم frmPersonnel
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
عالی بود مثل همیشه
شما برای من یه اسطوره هستی. پزشک، برنامه نویس، استاد زبان و غیره که غیره رو نمیدونم.
پروژه هم فقط یه کار دانشگاهی هستش و استادش هم گوگ.
در ضمن منظورت رو از تشکر از اون پست بالا رو فهمیدم.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.