PDA

View Full Version : مرتب کردن دیتاسورس گرید



کاربر کوشا
دوشنبه 17 خرداد 1389, 13:30 عصر
با سلام

من یک دیتاتیبل دارم که دیتاسورس یک دیتاگرید هست و من اون رو به دیتاگرید بایند کردم. میخوام زمانیکه در زمان اجرا کاربر با کلیک بر روی هدر یکی از ستونهای گرید اونو مرتب میکنه سطرهای دیتا تیبل نیز مانند گرید مرتب بشن ، در واقع مرتب کردن گرید در زمان اجرا بوسیله کاربر، بر روی دیتاسورس گرید هم تاثیر بگذاره و اون رو نیز مرتب کنه.

دوستان میتونند راهنمایی کنند؟

ممنون

کاربر کوشا
سه شنبه 18 خرداد 1389, 00:39 صبح
اینکه دوستان پاسخ ندادند یعنی واقعا هیچ راهی وجود نداره موقع مرتب کردن دیتاگرید ، دیتا سورس اون هم مرتب بشه؟؟؟

ricky22
سه شنبه 18 خرداد 1389, 06:40 صبح
سلام هم شهری!
یک تابع برای مرتب کردن datatable بنویس مثل این (http://www.learnmsnet.com/post/How-to-sort-a-DataTable.aspx).

بعد در رویداد سورت گریدت بسته به حالت این تابع رو صدا بزن

کاربر کوشا
سه شنبه 18 خرداد 1389, 11:56 صبح
سلام دوست من،

از راهنماییت ممنونم، برای استفاده از رویداد سورت گرید(sortcompare) دوتا شرط مهم وجود داره : اولا نباید دیتاگرید به دیتاسورس وصل باشه و دوما خاصیت virtualmode برابر false باشه که با توجه به اینکه گرید من به یک دیتاتیبل وصله پس نمیشه از این رویداد استفاده کرد. یک راه دیگه بنظرم رسید و اونم استفاده از رویداد کلیک هدر ستون (columnheadermouseclick) بود که خوشبختانه جواب میده هرچند نمیتونیم نوع مرتب سازی (نزولی یا صعودی) رو تشخیص بدیم. ولی یک نکته خیلی مهم هم در مرتب نمودن دیتاتیبل وجود داشت که بایستی حتما از خاصیت defaultview اون برای گرفتن نتیجه مرتب سازی استفاده کنیم نه خود دیتاتیبل که در لینکی که شما برام گذاشته بودید خیلی خوب مشخص شده بود.

بهر حال ممنون از راهنمایی ارزنده شما، موفق باشید.

ricky22
سه شنبه 18 خرداد 1389, 12:33 عصر
سلام دوست من،

از راهنماییت ممنونم، برای استفاده از رویداد سورت گرید(sortcompare) دوتا شرط مهم وجود داره : اولا نباید دیتاگرید به دیتاسورس وصل باشه و دوما خاصیت virtualmode برابر false باشه که با توجه به اینکه گرید من به یک دیتاتیبل وصله پس نمیشه از این رویداد استفاده کرد. یک راه دیگه بنظرم رسید و اونم استفاده از رویداد کلیک هدر ستون (columnheadermouseclick) بود که خوشبختانه جواب میده هرچند نمیتونیم نوع مرتب سازی (نزولی یا صعودی) رو تشخیص بدیم. ولی یک نکته خیلی مهم هم در مرتب نمودن دیتاتیبل وجود داشت که بایستی حتما از خاصیت defaultview اون برای گرفتن نتیجه مرتب سازی استفاده کنیم نه خود دیتاتیبل که در لینکی که شما برام گذاشته بودید خیلی خوب مشخص شده بود.

بهر حال ممنون از راهنمایی ارزنده شما، موفق باشید.
سلام دوست من
مرتب سازی نزولی و صعودی هم می تونی تشخیص بدی چون با وقتی رو ستون کلیک میشه رویداد sort گرید raise میشه
موفق باشی

کاربر کوشا
سه شنبه 18 خرداد 1389, 14:35 عصر
سلام دوست عزیز،

منظورتون از رویداد Sort همون SortCompare هست؟ اگه منظورتون اون رویداده که همانطور که در پست قبلی گفتم بدلیل بایند شدن به دیتاسورس این رویداد fire نمیشه.