PDA

View Full Version : سورت کردن comboBox



Access
چهارشنبه 02 مرداد 1387, 00:49 صبح
من اطلاعات خودم رو از اکسس می ریزم داخل datagrid طوری که وقتی فورم لود میشه داخل comboBox نشان داده میشه ولی نمی تونم اطلاعاتم رو سورت کنم اگه در datagrid هم سورت کنم کارم را میافته....:عصبانی++:
ممنون میشم از دوستان کسی منو راهنمایی بکنه

Sajjad.Aghapour
چهارشنبه 02 مرداد 1387, 01:38 صبح
comboBox1.Sorted = true;

دیتا گرید رو هم وقتی اطلاعاتت رو select میکنی از order by استفاده کن..یا اینکه


dataGridView1.Columns["column1"].SortMode = DataGridViewColumnSortMode.Automatic;

Access
چهارشنبه 02 مرداد 1387, 09:04 صبح
دوست عزیز, من از dataGrid استفاده کردم نه dataGridView
در ضمن وقتی این کد ; comboBox1.Sorted = true
رو می نویسم این پیغام رو میده :

ComboBox that has a DataSource set cannot be sorted. Sort the data using the underlying data model.:افسرده:

H_vakilian
چهارشنبه 02 مرداد 1387, 12:27 عصر
اطلاعات داخل dataset رو میتونی با dataview مرتب کنی بعد ازشون استفاده کنی فک می کنم جواب بگیری.

ASKaffash
چهارشنبه 02 مرداد 1387, 15:13 عصر
من اطلاعات خودم رو از اکسس می ریزم داخل datagrid طوری که وقتی فورم لود میشه داخل comboBox نشان داده میشه ولی نمی تونم اطلاعاتم رو سورت کنم اگه در datagrid هم سورت کنم کارم را میافته....:عصبانی++:
ممنون میشم از دوستان کسی منو راهنمایی بکنه

سلام
بهترین راه این است که شما با Order By رکوردها را تحویل DataSet دهید و به امید Sort درون ComboBox نباشید.

piroozman
جمعه 04 مرداد 1387, 10:25 صبح
من هم مثل شما در حال نوشتن برنامه اي هستم كه در اون تعداد تكست باكس و كمبوباكس دارم كه اطلاعات موجود در هر رديف از يك ديتا گريدويو رو به من نشون مي دهد. براي اين كار شما مي بايست:
1كمبوباكس و ديتاگريدويو خود را به يك bindigsource مشترك وصل (بايند) كنيد. بهترين كار براي اين منظور استفاه از BindingNavigator مي باشد.
2بهتره كه كمبوباكس خود را به صورت جداگانه به bindigsource مربوطه بايند كنيد. براي اين كار بهتره كه از ويزاردهاي موجود براي كمبوباكس خود استفاده كنيد:
با انتخاب كمبوباكس مربوطه شما يك فلش كوچك را مشاهده خواهيد كرد. روي آن فلش كليك كنيد(البته در visual studio 2008) و قسمت use data bound itenm را فعال كنيد از قسمت data source نام BindingsSource خود را و از قسمت Display Member و value member و selected value نام ستون جدول مورد نظر خود را انتخاب كنيد. البته تمامي آنها مي بايست از Bindingsource انتخاب شده در قسمت Data Source استفاده كنيد.
بعد از اين كار ها به سراغ خصيصه هاي كمبوباكس مربوطه بريد
در اون قسمت به سراغ خصيصه DataBindings رفته آنرا بسط دهيد بر روي قسمت Advanced كليك كنيد
در آن قسمت مقدار SelectedValue را انتخاب كرده و سپس Data Source Update Mode آنرا بر روي Never ست كنيد و ok
سپس به سراغ خصيصه هاي زير برويد
AutoComplete Mode به صورت Suggest
َAutoCompleteSource به صورت LIstItems
با اين كار فكر كنم مشكل شما حل بشه. در برنامه اي كه من نوشتم با اين كار محتويات ديتاگريد ويو و مقادير موجود در كمبوباكس مرتب است و نيز كاربر وقتي در داخل كمبوباكس چيزي را مي نويسد مقاديري از ليست موجود به او پيشنهاد خواهد شد و در نهايت با انتخاب هر كدام از مقادير موجود در كمبوباكس رديف متناظر آن در ديتاگريد ويو فعال مي شود و بالعكس

shervin_agh67
جمعه 04 مرداد 1387, 15:27 عصر
می دونید مشکل مرتب سازی در سی شارت چیه ؟ اینه که بر اساس کلید کار می کنه . فرض کنید من مقادیر زیر را از نوع عددی در یک کمبو ذخیره می کنم :
11و 9 و10و 7 و8 6و 5 و1 و2و 3و 4
حال اگر دستور comboBox1.Sorted = true; رو اجرا کنم هیچ مشکلی پیش نمیاد و مرتب سازی درست انجام میشه ، ولی اگر جلوی هر کدام از اون اعداد یک رشته یکسان قرار بدید اونوقت نتیجه رو بررسی کنید :
ترم 11 ، ترم 10 ،ترم 9 ،ترم 8 ،ترم 7 ،ترم 6 ،ترم 5 ،ترم 4 ،ترم 3 ،ترم 2 ،ترم 1
بعد از مرتب سازی(که اصلا مرتب هم هست) :
ترم 1
ترم 10
ترم 11
ترم 2
ترم 3
ترم 4
ترم 5
ترم 6
ترم 7
ترم 8
ترم 9
من برای رفع این مشکل رو راه رو پیدا کردم : اول اینکه خودت یک مرتب ساز دستی بنویسی ، یا اینکه بیای از اول همه عناصر رشته رو حذف کنی (چون رشته ها مساوی بودند) و سپس مقادیر رو به عدد تبدیل کنید سپس مرتب کنی . آیا کس دیگه ای فکری به نظرش می رسه ؟(لازم به ذکره که مرتب سازی به صورت صعودی انجام می شه)

jome ramezani
جمعه 11 مرداد 1387, 22:04 عصر
می تونید به صورت زیر ذخیره کنید

ترم 01
ترم 02
ترم 03
.
.
.
ترم 11

shervin_agh67
یک شنبه 13 مرداد 1387, 17:08 عصر
بحث سر ذخیره سازی نیست . فرض کنید شما عناصر عضوتون رو از بانک اگر می گرفتید اونوقت چی؟ این مشکل تنها مربوط به زبان فارسی نیست با انگلیسی هم مرتب سازی به همین طریقه.