انالیز این تکه کد (نوع تعریف)
یکی بهم بگه این تکه کد مخصوصا قسمتهایی که با زیر خط مشخص شده یعنی چی این چه جور تعریفی هستش گیجم کرده ممنون
((ListBox)chklstboxItems).DataSource = ObjDTable;
((ListBox)chklstboxItems).ValueMember = "Coding_Kala";
((ListBox)chklstboxItems).DisplayMember = "Name_Kala";
نقل قول: انالیز این تکه کد (نوع تعریف)
شما یک لیست باکس داری که باید منبع داده هاش معلوم بشه یعنی همون ( DataSource)
و باید ارزش اعضا یا شاخه های داخلش معلوم بشه (ValueMember)
وباید مقدار نمایشی اون هم معلوم بشه (DisplayMember)
که او.ن سه خط داره از یه ستون تو دیتا بیس داده هارو میریزه تو یه لیست باکس
نقل قول: انالیز این تکه کد (نوع تعریف)
نه منظورم اولش هستش اونجا که نوشه datarowview اونجارو میگم
نقل قول: انالیز این تکه کد (نوع تعریف)
نقل قول:
نوشته شده توسط
ordebehesht
نه منظورم اولش هستش اونجا که نوشه datarowview اونجارو میگم
کجاش نوشته datarowview ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟
نقل قول: انالیز این تکه کد (نوع تعریف)
ببخشید منظورم listbox هستش
نقل قول: انالیز این تکه کد (نوع تعریف)
((ListBox)chklstboxItems)
میاد عمل کستینگ انجام میده
مثل
string str = "3";
object obj = str;
int i=(int)obj;
نقل قول: انالیز این تکه کد (نوع تعریف)
بله حق با دوستمون هست تایپ کستینگ یعنی سمت چپ رو نوعش رو به لیست باکس تغییر میده
نقل قول: انالیز این تکه کد (نوع تعریف)
برای چی تبدیل میکنه منظورم هدف چیه از این کار
نقل قول: انالیز این تکه کد (نوع تعریف)
نقل قول:
نوشته شده توسط
ordebehesht
برای چی تبدیل میکنه منظورم هدف چیه از این کار
اگه با مشخصه های DataSource، DataMember و... لیست باکس و کمبو باکس آشنایی داشته باشین، این مشخصه ها مربوط به نمایش داده در این کنترل ها هستن.
کلاس CheckedListBox، از کلاس ListBox مشتق شده که کارش نمایش لیستی از چک باکس هاست.طراحی این کلاس به گونه ای بوده که مشخصه های DataSource، DataMember که مربوط به کلاس پدر (ListBox) هستن نا مربوط شناخته شدن و از دید کاربر کلاس، پنهان شدن. تعریف کلاس CheckedListBox:
public class CheckedListBox : ListBox
{
..
..
..
// Summary:
// Gets or sets the data source for the control. This property is not relevant
// for this class.
//
// Returns:
// An object representing the source of the data.
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
public object DataSource { get; set; }
..
..
همونطور که میبینید مشخصه DataSource با استفاده از EditorBrowsable، نمایشش غیر فعال شده.حالا کدی که شما گذاشتین:
((ListBox)chklstboxItems).DataSource = ObjDTable;
داره با Cast کردن شئ به کلاس پدرش (ListBox) این محدودیت رو دور میزنه تا بتونه به مشخصه DataSource دسترسی پیدا کنه. (نمیدونم کار مناسب و بدون اشکالی باشه یا نه.اگه مشکلی نبود طراح کلاس این مشخصه ها رو مخفی نمیکرد).
البته باید بگم این مشخصه ها فقط از دید کاربر (از طریق Editor) مخفی شدن وگرنه بدون Cast هم میشه ازشون استفاده کرد فقط تو لیست مشخصه های شی در Editor نمیان وگرنه Compiler خطا نمیده:
chklstboxItems.DataSource = ObjDTable;