PDA

View Full Version : کار با کلاس DataRelation برای برقراری رابطه چدر و فرزندی



NewLife2008
دوشنبه 28 شهریور 1390, 00:31 صبح
سلام
من به صورت جند لایه کد می نویسم . در یکی از لایه هام که همون entity هست، به صورت ویزاردی دیتا ست اضافه میکنم. و بعدا در سایر لایه ها از اون استفاده می کنم.
اما مشکل
من در یک فرم دو تا گرید دارم که از دو تا جدول که با هم رابطه پدر و فرزندی دارند پر میشن. یعنی در گرید اول اطلاعات مربوط به پدر و در گرید دوم اطلاعات مربوط به فرزندان قرار میگیرند.

حالا من میخوام بین این دو گرید یه ارتباطی بذارم که با رفتن روی هر سطر از گرید پدر اطلاعات مربوط به فرزندان اون در گرید پایین نمایش داده بشن و نمیخوام برای این کار روی ایونتهای گرید اول کد بنویسم

توی msdn اینو پیدا کردم
http://msdn.microsoft.com/en-us/library/system.data.datarelation.aspxپ (http://msdn.microsoft.com/en-us/library/system.data.datarelation.aspx%D9%BE)

Private Sub CreateRelation()
' Get the DataColumn objects from two DataTable objects
' in a DataSet. Code to get the DataSet not shown here.
Dim parentColumn As DataColumn = _
DataSet1.Tables("Customers").Columns("CustID")
Dim childColumn As DataColumn = DataSet1.Tables( _
"Orders").Columns("CustID")

' Create DataRelation.
Dim relCustOrder As DataRelation
relCustOrder = New DataRelation( _
"CustomersOrders", parentColumn, childColumn)

' Add the relation to the DataSet.
DataSet1.Relations.Add(relCustOrder)
End Sub


خب با این کد ، با استفاده از کلید اصلی و فرعی یه رابطه بین جداول برقرار میشه
حالا مشکل من اینه که توی این مثال ظاهرا باید دیتاستی که حاوی جداولم هستش رو توسط کد ایجاد کنم. اما چون من دیتا ست رو به صورت ویزاردی ایجاد کردم نمیدونم میشه با این کد کار کرد یا نه؟ مثلا در کد بالا ما داریم DataSet1.Tables
... یعنی میشه به table در این دیتا ست دسترسی داشت. اما وقتی dataset1 ویزاردی طراحی شده چیزی به نام table نداره
اگر راه دیگه ای هم هست که لایه بندی رو نقض نکنه ، هم بگین. مرسی
ممنونم