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

نام تاپیک: امکان DataBinding در Property ها

  1. #1

    امکان DataBinding در Property ها

    سلام دوستان.
    تفاوت پراپرتی و فیلد رو میخوندم . نوشته بود که :
    همچنین امکان DataBind به Property وجود دارد ولی در Field این امکان موجود نیست.

    میشه راهنمایی کنید بگید منظورش چیه ؟
    دیتابایند به پراپرتی یعنی چه ؟
    منظور از منبع تو دیتابایندیگ چیه ؟


  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: DataBinding

    با سلام
    اگه اشتباه نکنم منظورش اینه که
    اگر شما آبجکت TextBox رو در نظر بگیرید property هایی از قبیل text و... داره که در قسمت databinding میشه text رو به یک فیلد از بانک اطلاعاتی بایند یا متصل کرد
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  3. #3
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: DataBinding

    سلام کاملا درسته امکان Bind کردن فیلد وجود ندارد.چون فیلد فاقد متد get هست پس امکان پیاده سازی اینترفیس INotifyPropertyChanged روی آن وجود ندارد.در DataBinding دو مفهوم Source (منبع دریافت اطلاعات)و Target(شی یا آبجکتی که از منبع اطلاعات را دریافت میکند) وجود دارد.اصولا مفهوم DataBinding به این صورت هست که در صورتی که در منبع دریافت اطلاعات، تغییری ایجاد شود به صورت اتوماتیک آبجکت(های) متصل به آن را از تغییرات باخبر کند.پس اگر بخواهیم پراپرتی های یک کلاس رو بصورت Bindable باشه بایداینترفیس INotifyPropertyChanged را روی ان پیاده سازی نماییم.
    در کلاس Person دو شیوه پیاده سازی در حالت بدون Bindable و در حالت Bindable و نحوه پیاده سازی کلاس INotifyPropertyChanged دقت نمایید.

    public class Person
    {
    public string PersonName {get;set;}
    }

    در حالت Bindable بصورت زیر پیاده سازی میشود که در این حالت پراپتی PersonName مکان Bind کردن به پراپرتی Text یک TextBox یا هر خاصیت از object های دیگر را داراست.

    public class Person : INotifyPropertyChanged
    {
    private string name;
    public event PropertyChangedEventHandler PropertyChanged;



    public string PersonName
    {
    get { return name; }
    set
    {
    name = value;
    OnPropertyChanged("PersonName");
    }
    }



    protected void OnPropertyChanged(string name)
    {
    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    {
    handler(this, new PropertyChangedEventArgs(name));
    }
    }
    }
    }

    نحوه Bind کردن خاصیت Text یک TextBox بصورت کد بصورت زیر است.

    var person=new Person();
    textBoxPersonName.DataBindings.Add("Text",
    person,
    "PersonName",
    false,
    DataSourceUpdateMode.OnPropertyChanged);

    در هر قسمتی که پراپرتی PersonName از آبجکت person شما تغییر نمایید خاصیت Text تکست باکس (textBoxPersonName) اتوماتیک تغییر خواهد کرد.
    آخرین ویرایش به وسیله ژیار رحیمی : جمعه 04 فروردین 1396 در 00:27 صبح
    First,solve the problem then write the code

  4. #4

    نقل قول: DataBinding

    نه منظور تو شی گرایی هست .

  5. #5

    نقل قول: DataBinding

    بسیار کامل و عالی . ممنون

تاپیک های مشابه

  1. سوال: نقش property در کلاس ها چیست؟
    نوشته شده توسط ricky22 در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 21 بهمن 1388, 21:31 عصر
  2. جلوگیری از دیدن مقادیر Property ها در دات‌نت
    نوشته شده توسط amir_saniyan در بخش امنیت در نرم افزار و برنامه نویسی
    پاسخ: 4
    آخرین پست: شنبه 14 شهریور 1388, 09:20 صبح
  3. پاسخ: 0
    آخرین پست: سه شنبه 06 مرداد 1388, 11:48 صبح
  4. امکان فشرده سازی داده ها در ASP.NET 1.1
    نوشته شده توسط مسعود حیدرنیا در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 15 آبان 1385, 10:05 صبح

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

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