PDA

View Full Version : سوال: کار با ComboBox چند ستونی



hahaie
چهارشنبه 25 آذر 1394, 08:00 صبح
سلام.
بنده از یه ابزار کامبوباکس چند ستونی از مجموعه telerik میخوام استفاده کنم.
این کامبوباکس برای من فعلا دارای دو ستون هست.
میخوام وقتی کاربر ردیفی رو از گرید این کامبوباکس انتخاب کرد مقدار نمایشی اون برابر ستون دوم و مقدار برگشتی برابر ستون اول باشد.
تنظیمات اون چطوریه و چطور میتونم مقدار برگشتی رو بدست بیارم؟
ممنون

En_MK
چهارشنبه 25 آذر 1394, 08:43 صبح
سلام
اخه شما داری از یک کنترلر خاص استفاده میکنید یا باید با نام همون کنترلر سرچ کنید یا حداقل اسمشو بگید ما هم در جریان باشیم :افسرده::لبخند:
تازه من که متوجه سوالتون نشدم (میخوام وقتی کاربر ردیفی رو از گرید این کامبوباکس انتخاب کرد مقدار نمایشی اون برابر ستون دوم و مقدار برگشتی برابر ستون اول باشد.؟؟؟؟؟)

ebrahim.rayatparvar
چهارشنبه 25 آذر 1394, 10:34 صبح
سلام دوست عزیز.
جواب من بر اساس کنترل gridLookUp از کامپوننت DeveXpress هست شما ببینید شاید یه چیزی تو همین مایه ها که میگم باید این کنترل داشته باشه.
تو Devexpress وقتی از کنترل gridLookUp استفاده میکنی باید تو خاصیت ها این موارد رو برای خودت ست کنی مقداری که می خواد بعد کلیک بر رو گرید نمایش داده بشه که باید اسم ستون مورد نظر خودت حالا ستون اول هست دوم هست یا آخر هر کدوم که در نظر داری اسم فیلدش رو در خاصیت Display Member ست میکنم و مقداری که به عنوان کد یا داده به سمت بانک یا هر جایی که میخوای ازش استفاده کنی رو در خاصیت Value Member ست میکنیم.
حالا میتونی با کنرل کار کنی.
ولی پیشنهاد میکنم یه چیز شکن بگیر و تو گوگل در مورد همین کنترل یه جستجو بکن تو سایت خودش مطمئنا کلی جواب پیدا میشه.

hahaie
چهارشنبه 25 آذر 1394, 12:32 عصر
آقا اون کامبوباکس هم که میسازند یه نمونه از خود کامبوباکسه و معمولا پروپرتی ها شبیه به همه.
کاری به نوع کامپوننت نداشته باشید فقط بگید توی یه کامبوباکس چند ستونی چطوری میشه مقدار نمایشی و مقدار برگشتی رو مشخص کرد؟

ebrahim.rayatparvar
چهارشنبه 25 آذر 1394, 12:56 عصر
شما باید ببینید Display Member و Value Member در خاصیت این کنترل چی هستند که فیلد های خودتون رو باهاش ست کنید

ebrahim.rayatparvar
چهارشنبه 25 آذر 1394, 13:22 عصر
لینک زیر رو هم یه نگاه بنداز البته باید با چیزشکن بری به سایت تلریک :لبخند:
لینک تلریک (http://www.telerik.com/forums/how-to-use-dynamic-datasource)
لینک تلریک 2 (http://www.telerik.com/forums/how-to-change-the-selectedvalue)

hahaie
سه شنبه 01 دی 1394, 13:44 عصر
شما باید ببینید Display Member و Value Member در خاصیت این کنترل چی هستند که فیلد های خودتون رو باهاش ست کنید

درسته عزیز من display رو برابر فیلد دوم و valuemember رو برابر فیلد اول قرار دادم.حالا با استفاده از کدوم پروپرتی باید مقدار رو (فیلد اول)توی جدول ذخیره کنم؟

ژیار رحیمی
چهارشنبه 02 دی 1394, 16:16 عصر
دوست گرامی Document کامل ارائه شده توسط شرکت telerik رو مطالعه کن
http://www.telerik.com/help/winforms/multicolumncombobox-databinding.html

hahaie
پنج شنبه 03 دی 1394, 12:38 عصر
توی داکیومنتش هیچ توضیحی در این مورد نداره :ناراحت:

ژیار رحیمی
جمعه 04 دی 1394, 05:27 صبح
کلاس پایه بعنوان DataSource

public class Class1
{
public int id { get; set; }
public string name { get; set; }
}


نحوه Bind کردن

var lst = new List<Class1>();
lst.Add(new Class1 {id = 1, name = "name1"});
lst.Add(new Class1 {id = 2, name = "name2"});
lst.Add(new Class1 {id = 3, name = "name3"});
lst.Add(new Class1 {id = 4, name = "name4"});
radMultiColumnComboBox1.DataSource = lst.ToList();
radMultiColumnComboBox1.DisplayMember = "name";
radMultiColumnComboBox1.ValueMember = "id";

hahaie
جمعه 04 دی 1394, 14:22 عصر
دوست عزیز ممنون ولی اینا رو میدونستم.
ببینید همین کدهایی که شما گذاشتین من مشابه همین کار رو کردم یعنی کامبو باکس دارای دو ستونه یکی name و دیگری id.
وقتی کاربر رکوردی رو از کامبو باکس انتخاب میکنه مقدار name رو نشون میده(دقیقا مقدار DisplayMember).تا اینجا مشکلی نیس.
اما من میخوام مقدار id توی دیتابیس ذخیره بشه.از مشخصه Text کامبوباکس استفاده کردم ولی بازم مقدار فیلد name رو برمیگردونه.
متوجه شدین چی میگم؟

ژیار رحیمی
جمعه 04 دی 1394, 17:27 عصر
دوست گرامی موقع ذخیره در دیتابیس شما Id رو ذخیره میکنی پس به جای خاصیت Text از SelectedValue کامبوباکس استفاده کن

radMultiColumnComboBox1.SelectedValue

hahaie
شنبه 05 دی 1394, 07:49 صبح
ببخشید از این هم قبلا استفاده کردم خطای Object refrence no set to an instance of an object رو میده

hahaie
شنبه 05 دی 1394, 07:53 صبح
وای ببخشید حل شد.مشکل توی اسم فارسی فیلدها (عنوان ستونها)بود معذرت میخوام