سلام
آیا ComboBox خاصیتی به نام Multiselected دارد؟
اگر ندارد آیا شی جایگزینی وجود دارد که مانند ComboBox خاصیت DataSource و DisplayMember و ... داشته باشد
Printable View
سلام
آیا ComboBox خاصیتی به نام Multiselected دارد؟
اگر ندارد آیا شی جایگزینی وجود دارد که مانند ComboBox خاصیت DataSource و DisplayMember و ... داشته باشد
سلام
ما تو شهرمون بش میگیم ListBox و CheckedListBox .
اولا که من یک شی از نظر ظاهری مانند ComboBox می خواستم
دوما که توی شهر ما که CheckedListBox خاصیت DataSource و DisplayMember ندارد
و سوما تعداد آیتم های انتخاب شده در کدام خاصیت ListBox قرار می گیرد
به هر حال ممنون
سلام
آخه تو شهر ما به این چیزا اهمین نمیدن! :31:نقل قول:
توی شهر ما که CheckedListBox خاصیت DataSource و DisplayMember ندارد
SelectedItems خود شی Item انتخاب شده را بر میگرداند و SelectedIndices هم اینکس موارد انتخابی.نقل قول:
آیتم های انتخاب شده در کدام خاصیت ListBox قرار می گیرد
اخه عزیز جان، چطور میخواهید 20 آیتم Select شده را در یک سطر کوتاه ComboBox نشان دهید.نقل قول:
یک شی از نظر ظاهری مانند ComboBox می خواستم
بالاخره باید چیزی که میخواهید اصولی باشد؟به نظر من که نباید از چیزی شبیه Combo استفاده کرد.
=====
ولی اگر میخواهید، مانعی ندارد، تا وقتی برنامه نویس هستید، کامپیوتر در فرمان شما است!
میتوانید خودتان چیزی شبیه ظاهری Combo درست کنید که با کلیک دکمه مربوطه یک فرم محتوی یک ListBox یا CheckedListBox را نشان دهد.
اصولاً اگر هم کنترلر آماده ای از اینترنت دانلود کنید، به احتمال زیاد همین کار را کرده.
یعنی یک TextBox + Button + Form + CheckedListBox
(البته Button چون ساده است، میتوان بدون کنترلر و با دستورات ساده +GDI هم رسمش کرد)
Form هم باید با از دست دادن فکس و یا رسم مجدد و... فوراً یا مخفی شود و یا از بین رود، دقیقاً مثل لیست بازشو Combo.
و در وسط Combo جدیدتان هم میتوانید یا تعداد موارد انتخاب شده را نشان دهید، یا اینکه نام همه موارد انتخاب شده را با ویرگول نشان دهید.
سلام دوست عزیز
من تعداد آیتم های انتخاب شده را می خواستم نهنقل قول:
به هر حال، حالا کل مشکل را یکمرتبه مطرح می کنم
من به سفارش شما یک ListBox روی فرم قرار دادم و خاصیت های DataSource و DisplayMember و ... آن را Set کرده ام. حالا می خواهم زمانی که کاربر روی دکمه Save کلیک می کند در جدول RelCoCu از دیتابیس به ازای هر آیتم انخاب شده Id آن (خاصیت Selected Value) در دیتابیس اضافه شود
سلام
خوب دو خصوصیت یک مجموعه را بر میگردانند مثلاً برای یافتن تعداد این مجموعه میتوانید از SelectedItems.Count یا SelectedIndices.Count استفاده کنید.نقل قول:
..من تعداد آیتم های انتخاب شده ..
شما SelectedItems را در یک for each اسکن کنید، هر آیتم موجود در SelectedItems یک سطر از DataSource را که انتخاب شده بر میگرداند، که براسا ان تغییر مطلوب را در دیتابی اعمال کنید.نقل قول:
..به ازای هر آیتم انخاب شده Id آن (خاصیت Selected Value) در دیتابیس اضافه شود..
یعنی اگر DataSource شما یک DataTable بوده، حالا هر آیتم SelectedItems ، یک DataRow است که Select شده.
البته خروجی های SelectedItems از نوع Object است و شما باید با یک قالب ریزی ساده ان را به نوع مطلوب DataRow خود تبدیل کنید. (پرانتز در #C و DirectCast در VB)
سلام
بله من این دو خاصیت را قبلا تست کردم اما مقدار این دو خاصیت هیمشه صفر استنقل قول:
لطفا بیشتر توضیح دهیدنقل قول:
ببخشید من اینقدر شما را اذیت می کنم
باز هم ممنون
سلام
لطفا طریقه تبدیل را توضیح دهیدنقل قول:
سلام
بخش کد typedrow را میتوانید برای منابع سفارشی TypedDataSet استفاده کنید.
کد://C#.Net
System.Data.DataRow row;
DataSetName.DataTableNameRow typedrow;
int iPrimaryKey;
foreach (object i in this.ListBoxName.SelectedItems)
{
row = ((System.Data.DataRowView)i).Row;
typedrow = (DataSetName.DataTableNameRow)row;
iPrimaryKey = (int)row[0];
iPrimaryKey = typedrow.PrimaryKeyName;
//...
//code
//...
}
'VB.Net
Dim row As System.Data.DataRow
Dim typedrow As DataSetName.DataTableNameRow
Dim iPrimaryKey As Integer
For Each i As Object In Me.ListBoxName.SelectedItems
row = DirectCast(i, System.Data.DataRowView).Row
typedrow = DirectCast(row, DataSetName.DataTableNameRow)
iPrimaryKey = CInt(row(0))
iPrimaryKey = typedrow.PrimaryKeyName
'...
'code
'...
Next
ممون که کد را نوشتید اما یکم دیر شده اونو با یک DataGride و ... شبیه سازی کردم
(بنا به گفته خود شما که فرمودید دنبال چیزهای حاضر و آماده نباشم)