نمایش نتایج 1 تا 5 از 5

نام تاپیک: استفاده از DataTemplate در ComboBox

  1. #1
    کاربر دائمی آواتار PetekDincos
    تاریخ عضویت
    آبان 1389
    محل زندگی
    توهم
    پست
    594

    استفاده از DataTemplate در ComboBox

    با سلام
    من برای پر کردن کامبوباکسم از DataTemplate استفاده می کنم و DataTemplate ام از چندتا فیلد تشکیل شده و وقتی از DataTemplate برای بایند کردن ItemTemplate استفاده می کنی دیگه نمی شه از DisplateMemberPath استفاده کرد یعنی نمی شه هم زمان از این دو تا Property استفاده کرد و برای اینکه بتونم تو خود Text کامبو باکس مقدار نشون بدم از TextSearch.TextPath مثل DisplayMemberPath میشه استفاده کرد اما از این برای نشون دادن یک فیلد می شه استفاده کرد و برای نشون دادن چند فیلد کنار هم چیکار بایستی کرد با تشکر

  2. #2
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: استفاده از DataTemplate در ComboBox

    سلام
    من این دو راه رو پیشنهاد میکنم
    مثال های زیر رو ببین

    در هر دو مثال دیگه از DisplateMember استفاده نکردم و برای برگردندن مقدار ComboBox از
    SelectedItem
    استفاده شده
    برای اولی متد ToString جدول مربوطه رو override کردم
    ولی در دومی SelectedItem به نوع جدولم تبدیل کردم و هر فیلدی رو که میخوام خروجی گرفتم

    فایل های ضمیمه فایل های ضمیمه

  3. #3
    کاربر دائمی آواتار PetekDincos
    تاریخ عضویت
    آبان 1389
    محل زندگی
    توهم
    پست
    594

    نقل قول: استفاده از DataTemplate در ComboBox

    با سلام آقای فرزاد
    ممنون از جوابتون من از ObjectDataProvider برای پر کردن منبع داده ام استفاده می کنم و مثال شما رو تغییر دادم و شبیه مشکل خودم کردم و ببینید و به اون TextSearch.TextPath هم دقت نمایید اگر اون TextSearch رو پاک کنی می بینید مشکل من کجاست با تشکر
    فایل های ضمیمه فایل های ضمیمه

  4. #4
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: استفاده از DataTemplate در ComboBox

    سلام مجدد
    همون راه اول جواب میده و میتونی با راه دوم ترکیب کنی

    مثال شما رو اینجوری کردم

    publicclassPersonalcs
    {
    publicstring FName { get; set; }
    publicstring LName { get; set; }
    publicoverridestring ToString()
    {
    returnstring.Format("{0} {1}", FName, LName);
    }

    }


    و در نهایت
      private void button1_Click(object sender, RoutedEventArgs e)
    {
    MessageBox.Show((this.comboBox1.SelectedItem as Personalcs).FName);
    MessageBox.Show((this.comboBox1.SelectedItem as Personalcs).LName);
    MessageBox.Show(this.comboBox1.SelectedItem.ToStri ng());
    }
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله مهدی فرزاد : چهارشنبه 18 اسفند 1389 در 11:17 صبح

  5. #5
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: استفاده از DataTemplate در ComboBox

    سلام
    یک راه دیگه به ذهنم رسید که انعطاف بالاتری داره
    شما یک Property یا چند Property دیگه به کلاست اضافه میکنی (هر کدوم میتونه ترکیبی از چند فیلد جدول رو برگردونه) مثلا برای مثال شما اونی که Bold شده رو اضافه کردم

    public class Personalcs
    {
    public string FName { get; set; }
    public string LName { get; set; }
    public string FLName { get { return FName + " " + LName; } } //Bold
    }
    public class PersonalcsRestore
    {
    public List<Personalcs> Get_Personal()
    {
    List<Personalcs> mylist = new List<Personalcs>()
    {
    new Personalcs{FName="Mehdi",LName="Farzad"},
    new Personalcs{FName="Petek",LName="Dincos"}
    };
    return mylist;
    }

    }


    حالا میتوند از همون روش خودتون یعنی

    <ComboBox TextSearch.TextPath="FLName"

    استفاده کنید

    خوبی این روش اینه که شما به هر تعداد و با هر تکریبی که خواستی میتونید Property بسازی و برای کمبو های مختلف استفاده کنی
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله مهدی فرزاد : چهارشنبه 18 اسفند 1389 در 11:18 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •