PDA

View Full Version : سوال: چرا باید از Bindingsource استفاده کرد؟



r. salehi
شنبه 28 مرداد 1391, 15:27 عصر
سلام به همه دوستان،
من DGV را با DataAdappter و Datatable پر می کنم اما در بعضی مراجع می بینم علاوه بر اینها از BindingSource هم استفاده میشه اما من استلزام استفاده از اون رو هنوز درک نکردم مثلا کد زیر با و بدون BindingSource کار می کنه.
لطفا اگر ممکنه مزایا و محاسن و الزام استفاده از BindingSource را یکی از دوستان توضیح بدن.
پیشاپیش تشکر می کنم.
دو مجموعه کد زیر نتیجه یکسانی در پر کردن DataGridView شنون میدن!؟؟



Dim Ta1 As New DataSet1TableAdapters.AssigningStatusTableAdapter
Dim Da1 As New DataSet1.AssigningStatusDataTable
Dim Bs1 As New BindingSource
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Ta1.Fill(Da1)
Bs1.DataSource = Da1
DGV1.DataSource = Bs1
End Sub



و این کد بدون BindingSource باز با همون نتیجه



Dim Ta1 As New DataSet1TableAdapters.AssigningStatusTableAdapter
Dim Da1 As New DataSet1.AssigningStatusDataTable
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Ta1.Fill(Da1)
DGV1.DataSource = Da1
End Sub



توضیح: در DataSet1 جدولی به نام AssigningStatus وجود داره که اطلاعات از اون استخراج میشه

tooraj_azizi_1035
پنج شنبه 02 شهریور 1391, 17:04 عصر
موضوع برمی گرده به مفهوم Binding در دات نت. در نظر بگیرید یک جدول از دیتابیس اکنون در حافظه است و ما میخواهیم هم توسط چندین TextBox آنها را نمایش دهیم و توسط grid.
خوب باید همه رکوردها را یکی یکی بخوانیم و بعد در گرید نمایش دهیم. برای Text ها چطور؟ معولمه برای اونها هم باید ردیف جاری رو داشته باشیم و فیلدهای مربوطه رو در اونها نمایش بدیم.
وقتی اطلاعات جدول عوض شد دوباره باید خودمان مقادیر را در کنترل ها تطبیق بدهیم. خلاصه اینکه لحظه به لحظه باید کنترل ها را منبع داده ها هماهنگ نگه داریم.
در واقع ما تلاش می کنیم کنتر لها را نسبت به منبع داده ها مقید کنیم.
BindingSource همه این کارها را برای ما انجام میدهد.