PDA

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



hossein-khoshseyar
دوشنبه 06 دی 1389, 09:39 صبح
سلام
دوستان مگه با کلیک کردن روی هر ستون دیتا گرید ویو اون ستون به طور اتوماتیک مرتب نمیشه ؟

من توی یک پروژه ام که دارم از دیتا گرید ویو استفاده می کنم
بعضی از ستون ها با کلیک بر روی اون درست مرتب می شه
اما بعضی از ستون ها درست مرتب نمیشه ؟
به نظر شما مشکل چیه ؟
این هم عکس از دیتا گرید وی
الان روی اون ستونی که با قرمز مشخص شده کلیک کردم
اما مرتیب نشده

omid-vbAuto
دوشنبه 06 دی 1389, 14:56 عصر
سلام
دوستان مگه با کلیک کردن روی هر ستون دیتا گرید ویو اون ستون به طور اتوماتیک مرتب نمیشه ؟

من توی یک پروژه ام که دارم از دیتا گرید ویو استفاده می کنم
بعضی از ستون ها با کلیک بر روی اون درست مرتب می شه
اما بعضی از ستون ها درست مرتب نمیشه ؟
به نظر شما مشکل چیه ؟
این هم عکس از دیتا گرید وی
الان روی اون ستونی که با قرمز مشخص شده کلیک کردم
اما مرتیب نشده

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

pedram_ns
دوشنبه 06 دی 1389, 15:13 عصر
در دیتابیستون باید data type این ستون رو از نوع number تعریف کنید

hossein-khoshseyar
دوشنبه 06 دی 1389, 19:24 عصر
دوست عزیز اگر می خواهی این کارو با کد انجام بدی من کدشو دارم.

سلام
یعنی فقط با کد میشه این کار رو انجام داد
یعنی خود دیتا گرید چنین امکانی رو نداره؟

hossein-khoshseyar
دوشنبه 06 دی 1389, 19:25 عصر
در دیتابیستون باید data type این ستون رو از نوع number تعریف کنید

این دیتا گرید من با دیتا بیس پر نمیشه
بلکه اطلاعاتش همون جا تو برنامه تولید میشه و نشون داده میشه

omid-vbAuto
دوشنبه 06 دی 1389, 19:54 عصر
سلام
یعنی فقط با کد میشه این کار رو انجام داد
یعنی خود دیتا گرید چنین امکانی رو نداره؟

خود دیتا گرید پایگاهی آره . ولی فکر کنم دیتا گریدی که شما می خواهید نه.چون من با بایند کردن این کارو انجام می دم و از خصوصیت پایگاه داده است.حالا شما لازم نیست که پایگاه داده آنچنانی درست کنید فقط کافی یه جدول خالی تو پایگاه داده با نام ستون های شکل بالا درست کنید و اون پایگاه داده خالی رو به DATAgridview خود بایند کنید و از کد زیر استفاده کنید :


Me.Table1BindingSource.Sort = ComboBox2.Text & " ASC"


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

حالا شما یه کمبو باکسی داری که Item هاش نام ستون هات هست و با انتخاب هر ایتم داده های اون ستون خاص از بزرگ به کوچیک ویا از A تا Z ردیف می شن. اگه هم می خواهی به صورت بر عکس Sort بشن به جای کلمه ASC از DESC استفاده کن.

موفق باشید.

hossein-khoshseyar
دوشنبه 06 دی 1389, 22:44 عصر
خود دیتا گرید پایگاهی آره . ولی فکر کنم دیتا گریدی که شما می خواهید نه.چون من با بایند کردن این کارو انجام می دم و از خصوصیت پایگاه داده است.حالا شما لازم نیست که پایگاه داده آنچنانی درست کنید فقط کافی یه جدول خالی تو پایگاه داده با نام ستون های شکل بالا درست کنید و اون پایگاه داده خالی رو به DATAgridview خود بایند کنید و از کد زیر استفاده کنید :


Me.Table1BindingSource.Sort = ComboBox2.Text & " ASC"


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

حالا شما یه کمبو باکسی داری که Item هاش نام ستون هات هست و با انتخاب هر ایتم داده های اون ستون خاص از بزرگ به کوچیک ویا از A تا Z ردیف می شن. اگه هم می خواهی به صورت بر عکس Sort بشن به جای کلمه ASC از DESC استفاده کن.

موفق باشید.




دوست عزیز ممنون از توجه و پاسخت
اما من یه کم تو اینترنت جستجو کردم و جوابم رو به اون شکلی که می خواستم پیدا کردم
خود دیتا گرید امکان مرتب کردن رو میده
مشکل من توی اون ردیفی که جواب نمی داد این بود که عدد رو به رشته تبدیل می کردم و بعد توی دیتا گرید می نوشتم که به خاطر همین درست مرتب نمیشد
اما الان که خود عدد رو مستقیما توی دیتا گرید مینویسم بدون هیچ مشکلی و بدون هیچ کد اضافی خود دیتا گرید دیتا رو مرتب می کنه