ورود

نسخه کامل مشاهده نسخه کامل : ComboBox و خاصیت Multiselected



M-B-M
15-08-2008, 10:46
سلام
آیا ComboBox خاصیتی به نام Multiselected دارد؟
اگر ندارد آیا شی جایگزینی وجود دارد که مانند ComboBox خاصیت DataSource و DisplayMember و ... داشته باشد

_H2_
15-08-2008, 15:52
سلام
ما تو شهرمون بش میگیم ListBox و CheckedListBox .

M-B-M
16-08-2008, 01:42
اولا که من یک شی از نظر ظاهری مانند ComboBox می خواستم
دوما که توی شهر ما که CheckedListBox خاصیت DataSource و DisplayMember ندارد
و سوما تعداد آیتم های انتخاب شده در کدام خاصیت ListBox قرار می گیرد

به هر حال ممنون

_H2_
16-08-2008, 09:52
سلام

توی شهر ما که CheckedListBox خاصیت DataSource و DisplayMember ندارد
آخه تو شهر ما به این چیزا اهمین نمیدن! :31:


آیتم های انتخاب شده در کدام خاصیت ListBox قرار می گیرد
SelectedItems خود شی Item انتخاب شده را بر میگرداند و SelectedIndices هم اینکس موارد انتخابی.


یک شی از نظر ظاهری مانند ComboBox می خواستم
اخه عزیز جان، چطور میخواهید 20 آیتم Select شده را در یک سطر کوتاه ComboBox نشان دهید.
بالاخره باید چیزی که میخواهید اصولی باشد؟به نظر من که نباید از چیزی شبیه Combo استفاده کرد.
=====
ولی اگر میخواهید، مانعی ندارد، تا وقتی برنامه نویس هستید، کامپیوتر در فرمان شما است!
میتوانید خودتان چیزی شبیه ظاهری Combo درست کنید که با کلیک دکمه مربوطه یک فرم محتوی یک ListBox یا CheckedListBox را نشان دهد.

اصولاً اگر هم کنترلر آماده ای از اینترنت دانلود کنید، به احتمال زیاد همین کار را کرده.
یعنی یک TextBox + Button + Form + CheckedListBox
(البته Button چون ساده است، میتوان بدون کنترلر و با دستورات ساده +GDI هم رسمش کرد)
Form هم باید با از دست دادن فکس و یا رسم مجدد و... فوراً یا مخفی شود و یا از بین رود، دقیقاً مثل لیست بازشو Combo.

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

M-B-M
16-08-2008, 11:38
سلام دوست عزیز


تعداد آیتم های انتخاب شده در کدام خاصیت ListBox قرار می گیرد

من تعداد آیتم های انتخاب شده را می خواستم نه

به هر حال، حالا کل مشکل را یکمرتبه مطرح می کنم
من به سفارش شما یک ListBox روی فرم قرار دادم و خاصیت های DataSource و DisplayMember و ... آن را Set کرده ام. حالا می خواهم زمانی که کاربر روی دکمه Save کلیک می کند در جدول RelCoCu از دیتابیس به ازای هر آیتم انخاب شده Id آن (خاصیت Selected Value) در دیتابیس اضافه شود

_H2_
16-08-2008, 19:48
سلام

..من تعداد آیتم های انتخاب شده ..
خوب دو خصوصیت یک مجموعه را بر میگردانند مثلاً برای یافتن تعداد این مجموعه میتوانید از SelectedItems.Count یا SelectedIndices.Count استفاده کنید.


..به ازای هر آیتم انخاب شده Id آن (خاصیت Selected Value) در دیتابیس اضافه شود..
شما SelectedItems را در یک for each اسکن کنید، هر آیتم موجود در SelectedItems یک سطر از DataSource را که انتخاب شده بر میگرداند، که براسا ان تغییر مطلوب را در دیتابی اعمال کنید.
یعنی اگر DataSource شما یک DataTable بوده، حالا هر آیتم SelectedItems ، یک DataRow است که Select شده.

البته خروجی های SelectedItems از نوع Object است و شما باید با یک قالب ریزی ساده ان را به نوع مطلوب DataRow خود تبدیل کنید. (پرانتز در #C و DirectCast در VB)

M-B-M
17-08-2008, 11:58
سلام




... برای یافتن تعداد این مجموعه میتوانید از SelectedItems.Count یا SelectedIndices.Count استفاده ...



بله من این دو خاصیت را قبلا تست کردم اما مقدار این دو خاصیت هیمشه صفر است



البته خروجی های SelectedItems از نوع Object است و شما باید با یک قالب ریزی ساده ان را به نوع مطلوب DataRow خود تبدیل کنید. (پرانتز در #C و DirectCast در VB)

لطفا بیشتر توضیح دهید

ببخشید من اینقدر شما را اذیت می کنم
باز هم ممنون

M-B-M
17-08-2008, 23:00
سلام


البته خروجی های SelectedItems از نوع Object است و شما باید با یک قالب ریزی ساده ان را به نوع مطلوب DataRow خود تبدیل کنید. (پرانتز در #C و DirectCast در VB)

لطفا طریقه تبدیل را توضیح دهید

_H2_
18-08-2008, 09:51
سلام
بخش کد typedrow را میتوانید برای منابع سفارشی TypedDataSet استفاده کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

M-B-M
18-08-2008, 10:35
ممون که کد را نوشتید اما یکم دیر شده اونو با یک DataGride و ... شبیه سازی کردم
(بنا به گفته خود شما که فرمودید دنبال چیزهای حاضر و آماده نباشم)