PDA

View Full Version : DataGrid



mgmreza
پنج شنبه 11 بهمن 1386, 01:26 صبح
سلام
وقتی که در DataGrid بر روی یک رکورد خاص هستیم چگونه میتوانیم کاری کنیم که اطلاعات همان رکورد در بخش جداول آن و یا textbox ها نمایش داده شود ؟ منظورم انتقال اطلاعات نیست.
* من خیلی با متدهای DataGrid کار کردم ولی موفق نشدم. اگر راهنمایی بفرمایید ممنون میشوم.
با تشکر

Mbt925
پنج شنبه 11 بهمن 1386, 01:41 صبح
شیء دیتاگرید فقط برای نمایش اطلاعات هست و بطور مستقیم هیچ دسترسی ای روی سطر های این شی ء امکان پذیر نیست.

یه راه حل اینه که به تعداد شماره ردیف انتخاب شده ، توی دیتابیستون حرکت کنید و رکورد موردنظر رو نمایش بدین و یا
می تونید از vsFlexGrid که خیلی قوی تر هست استفاده کنید.

mgmreza
پنج شنبه 11 بهمن 1386, 01:48 صبح
از راهنمایی شما ممنون هستم.
در ضمن من برنامه کوچکی را از اینترنت دانلود کردم که کار فوق را انجام میدهد. اما نمیدانم که چگونه این کار را کرد. نه از کد استفاده شده بود و نه از خاصیت های آن. خواستم بگویم که فکر کنم چنین چیزی وجود داشته باشد
با تشکر

Mbt925
پنج شنبه 11 بهمن 1386, 01:56 صبح
از راهنمایی شما ممنون هستم.
در ضمن من برنامه کوچکی را از اینترنت دانلود کردم که کار فوق را انجام میدهد. اما نمیدانم که چگونه این کار را کرد. نه از کد استفاده شده بود و نه از خاصیت های آن. خواستم بگویم که فکر کنم چنین چیزی وجود داشته باشد
با تشکر

دوست عزیز شما این نمونه رو که میگین اینجا قرار بدین ، تا ببینیم چیکار کرده.

mgmreza
پنج شنبه 11 بهمن 1386, 03:02 صبح
برنامه ای که قرار بود بفرستم را در لینک زیر قرار دادم.
همانطور که در برنامه مشاهده مینمایید وقتی که بر روی DataGrid کلیک میکنم رکورد مورد نظر در قسمت بالا نیز نمایش داده میشود .

http://barnamenevis.org/forum/attachment.php?attachmentid=14183&stc=1&d=1201736593

perfeshnal
پنج شنبه 11 بهمن 1386, 07:09 صبح
عزیز در این لینک که فایلی نیست !

ABERTINO
پنج شنبه 11 بهمن 1386, 11:53 صبح
این فایلی رو که واست آپلود کردم دقیقاً همون کاریه که می خوای بدوند کدنویسی و دردسر اضافه
اگه حل شد دکمه حل شد رو بی زحمت بزن

babak4614
پنج شنبه 11 بهمن 1386, 13:32 عصر
آقای ABERTINO کار جالبی بود بهش فکر نکرده بودم

ali_habibi1384
شنبه 13 بهمن 1386, 10:38 صبح
سلام
وقتی که در DataGrid بر روی یک رکورد خاص هستیم چگونه میتوانیم کاری کنیم که اطلاعات همان رکورد در بخش جداول آن و یا textbox ها نمایش داده شود ؟ منظورم انتقال اطلاعات نیست.
* من خیلی با متدهای DataGrid کار کردم ولی موفق نشدم. اگر راهنمایی بفرمایید ممنون میشوم.
با تشکر
من در تمام پروژه هام از این قابلیت استفاده میکنم خیلی هم ساده هستش:
یه adodc روی صفحه می زاری و اونو به پایگاه داده ات وصلش می کنی
بعدش یه دیتاگرید هم روی صفحه می زاری و رکورد سورسش رو adodc انتخاب می کنی
یک یا چند تا تکست باکس روی صفحه می زاری و اونها رو به فیلدهایی از adodc مارتبط می کنی
حالا شما هر موقع روی سطری از جدول دیتا گرید کلیک کنی یا بالا و پایین بیای خود adodc بصورت خود کار اطلاعات رو توی تکست باکسها نمایش خواهد داد . کارهایی رو که گفتم انجام بده 100 در صد به نتیجه خواهی رسید .
موفق باشید

Mbt925
شنبه 13 بهمن 1386, 11:22 صبح
این فایلی رو که واست آپلود کردم دقیقاً همون کاریه که می خوای بدوند کدنویسی و دردسر اضافه
اگه حل شد دکمه حل شد رو بی زحمت بزن

توی این روش باید روی هر رکورد دابل کلیک کنید تا تکس باکس آپدیت بشه.

bobrus
شنبه 13 بهمن 1386, 14:47 عصر
آقای mbt925 من که این فایلو دانلود کردم فقط با یک کلیک کار می کرد نه با دابل کلیک
تازه من هم از این Abertino استفاده می کنم تاحالا مشکل نداشتم

Mbt925
شنبه 13 بهمن 1386, 14:53 عصر
آقای mbt925 من که این فایلو دانلود کردم فقط با یک کلیک کار می کرد نه با دابل کلیک
تازه من خودم هم از این روش استفاده می کنم تاحالا مشکل نداشتم

خب پس حالا یه بار دیگه اجراش کنید و ببینید وقتی روی یه رکورد کلیک می کنید چی بهتون نشون میده و وقتی دابل کلیک می کنید چی نشون میده.

ABERTINO
شنبه 13 بهمن 1386, 15:21 عصر
آقای mbt925 منو به شک انداختین رفتم و دوباره نگاهش کردم هم کلیک و هم دابل کلیک کردم هیچ اتفاقی نیوفتاد یعنی درست کار کرد میشه شما توضیح بدین چی میشه؟

Mbt925
شنبه 13 بهمن 1386, 16:06 عصر
فقط به این که تکس باکس ها تغییر می کنه توجه نکنید ، به محتویات اونا هم توجه کنید.
توی دوتا تصویری که گذاشتم به محتویات رکورد انتخاب شده و محتویات تکس باکس توجه کنید.

mgmreza
دوشنبه 15 بهمن 1386, 00:28 صبح
من در تمام پروژه هام از این قابلیت استفاده میکنم خیلی هم ساده هستش:
یه adodc روی صفحه می زاری و اونو به پایگاه داده ات وصلش می کنی
بعدش یه دیتاگرید هم روی صفحه می زاری و رکورد سورسش رو adodc انتخاب می کنی
یک یا چند تا تکست باکس روی صفحه می زاری و اونها رو به فیلدهایی از adodc مارتبط می کنی
حالا شما هر موقع روی سطری از جدول دیتا گرید کلیک کنی یا بالا و پایین بیای خود adodc بصورت خود کار اطلاعات رو توی تکست باکسها نمایش خواهد داد . کارهایی رو که گفتم انجام بده 100 در صد به نتیجه خواهی رسید .
موفق باشید

مشکلی که در این روش وجود دارد این است که وقتی ، هنگام وارد کردن اطلاعات در پایگاه از ادامه کار منصرف شدیم و دکمه لغو را که حاوی کد adodc1.Recordset.CancelUpdate کلیک میکنیم اطلاعات ثبت میشود در صورتی که اگر از این روش استفاده نکنیم با زدن دکمه فوق اطلاعات ثبت نمیشود.
آیا راه حلی برای این مشکل وجود دارد ؟
با تشکر

j.farazani
دوشنبه 15 بهمن 1386, 06:21 صبح
مشکلی که در این روش وجود دارد این است که وقتی ، هنگام وارد کردن اطلاعات در پایگاه از ادامه کار منصرف شدیم و دکمه لغو را که حاوی کد adodc1.Recordset.CancelUpdate کلیک میکنیم اطلاعات ثبت میشود در صورتی که اگر از این روش استفاده نکنیم با زدن دکمه فوق اطلاعات ثبت نمیشود.
آیا راه حلی برای این مشکل وجود دارد ؟
با تشکر

با سلام خدمت دوستان عزیزم

فرمایش دوستون درسته من هم خیلی روش کار کردم اما نشد . با وجود این که این روش بسیار روش عالی هست و من شخصا همیشه از این روش استفاده می کنم اما نتونستم از این مشکل رد شم . دوستان اگه بزرگواری کنند و یه راه حلی پیشنهاد کنند ممنون میشم

بازم ممنون

mgmreza
سه شنبه 16 بهمن 1386, 01:07 صبح
مشکلی که در این روش وجود دارد این است که وقتی ، هنگام وارد کردن اطلاعات در پایگاه از ادامه کار منصرف شدیم و دکمه لغو را که حاوی کد adodc1.Recordset.CancelUpdate کلیک میکنیم اطلاعات ثبت میشود در صورتی که اگر از این روش استفاده نکنیم با زدن دکمه فوق اطلاعات ثبت نمیشود.
آیا راه حلی برای این مشکل وجود دارد ؟
با تشکر

سلام به همه شما دوستان
کسی میتواند در مورد مشکل مطرح شده ، راه حلی ارائه دهد. خیلی ضروری است.
با تشکر

vbhamed
سه شنبه 16 بهمن 1386, 06:01 صبح
سلام
این کار که خیلی راحته اصلا نیاز به کد نداره
با اجازه من برنامه دوستمونو کمی ویرایش کردم

j.farazani
پنج شنبه 18 بهمن 1386, 17:17 عصر
سلام

این کار که خیلی راحته اصلا نیاز به کد نداره
با اجازه من برنامه دوستمونو کمی ویرایش کردم


با سلام
vbhamed عزیز ممنون از شما . اما مشکل اینجاست که اگر بخواهی برای کاربر دکمه تایید و انصراف تعریف کنیم همون مشکلی که دوستمون گفتن پیش میاد . یعنی نمی تونیم یک کلید برای تایید و یک کلید برای انصراف تعریف کنیم . درست به مانند تصویر ضمیمه .
آیا راهی برای حل این مشکل هست ؟

ممنون از محبتتون

vbhamed
شنبه 20 بهمن 1386, 00:00 صبح
سلام
چرا نشه دکمه تایید و انصراف تعریف کرد
اینم همون نمونه با دکمه تایید و انصراف :

mgmreza
شنبه 20 بهمن 1386, 03:23 صبح
مشکلی که در این روش وجود دارد این است که وقتی ، هنگام وارد کردن اطلاعات در پایگاه از ادامه کار منصرف شدیم و دکمه لغو را که حاوی کد adodc1.Recordset.CancelUpdate کلیک میکنیم اطلاعات ثبت میشود در صورتی که اگر از این روش استفاده نکنیم با زدن دکمه فوق اطلاعات ثبت نمیشود.
آیا راه حلی برای این مشکل وجود دارد ؟
با تشکر


سلام
اگر به جای دستور adodc1.Recordset.CancelUpdate از دستور adodc1.Refresh استفاده کنیم باعث میشود وقتی که از وارد کردن اطلاعات پشیمان شدید و خواستید بر روی دکمه انصراف کلیک کنید ، دستور فوق مانع از ثبت اطلاعات مورد نظر در پایگاه و DataGrid میشود .
در ضمن این دستور را دیروز امتحان کردم.

vbhamed
شنبه 20 بهمن 1386, 20:12 عصر
سلام
خب چرا از refresh استفاده کنید ؟
تازه اگر هم خواستید اول CancelUpdate رو بزنید و بعد Refresh

ali_habibi1384
سه شنبه 23 بهمن 1386, 07:26 صبح
با سلام خدمت دوستان عزیزم

فرمایش دوستون درسته من هم خیلی روش کار کردم اما نشد . با وجود این که این روش بسیار روش عالی هست و من شخصا همیشه از این روش استفاده می کنم اما نتونستم از این مشکل رد شم . دوستان اگه بزرگواری کنند و یه راه حلی پیشنهاد کنند ممنون میشم

بازم ممنون
منظورتون رو متوجه نشدم!
اگه می خواین ثبت کردن رو هم اونجا انجام بدید مشکل خواهید داشت باید این کارو توی فرم دیگه ای انجام بدی و این فرم رو hide کنی.

j.farazani
یک شنبه 05 اسفند 1386, 22:25 عصر
با سلام خدمت دوستان عزیزم

با عرض شرمندی که پست شما رو دیر مشاهده کردم

منظورتون رو متوجه نشدم!
اگه می خواین ثبت کردن رو هم اونجا انجام بدید مشکل خواهید داشت باید این کارو توی فرم دیگه ای انجام بدی و این فرم رو hide کنی.


نه من از کد زیر استفاده میکنم و هیچ مشکلی هم ندارم .

adoPrimaryRS.UpdateBatch adAffectAll

j.farazani
یک شنبه 05 اسفند 1386, 22:30 عصر
حالا اگر در UnderlyingValue بخواهیم چیزی شبیه به تصویری که در پستهای قبلی گذاشته بودم داشته باشم بعلاوه جستجو و فیلتر جه کار باید کرد

البته این مشکل رو به طور کامل در تاپیک زیر توضیح دادم
http://barnamenevis.org/forum/showthread.php?t=95932

ممنون