.Net C#DataTables和DataSet,如何关联表

fla*_*404 3 c# datatable dataset

你如何将几个数据表放在一个数据集中并将它们联系起来(甚至听起来不像是正确的英语)呢?

我知道如何创建数据表.

Ron*_*fca 9

这是我的一个课程中的一个例子

// create the relationship between Booking and Booking_MNI
DataRelation relBookingMNI;                         
relBookingMNI = new DataRelation("BookingToBookingMNI",dsBooking.Tables["Booking"].Columns["Record_Id"],dsBooking.Tables["Booking_MNI"].Columns["booking_record_id"]);
dsBooking.Relations.Add(relBookingMNI);
Run Code Online (Sandbox Code Playgroud)

dsBooking是我的主数据集,包含2个表Booking和Booking_MNI其中Record_Id是主键,booking_record_id是外键

我更改了下面的代码以匹配我的第一个示例.但我认为这正是你要找的.在我们的生产代码中,这将在行的左侧生成加号"+"符号,这将允许您钻取到相关表中.我再次使用生产代码并使其看起来像第一个示例,所以我不知道它是否会编译,但它应该让你朝着正确的方向前进.

DataTable dtBooking = ds.Tables[0];
DataTable dtBooking_MNI = ds.Tables[1];

dtBooking.PrimaryKey = new DataColumn[] {dtBooking.Columns["Record_Id"]};
dtBooking_MNI.PrimaryKey = new DataColumn[] {dtBooking_MNI.Columns["booking_Record_Id"]};

/* Setup DataRelation between the DataTables */
DataColumn[] dcBookingColsArray = new DataColumn[1] {dtBooking.Columns["Record_Id"]};
DataColumn[] dcBookingMNIColsArray = new DataColumn[1] {dtBooking_MNI.Columns["booking_record_Id"]};

DataRelation relBooking_To_MNI = new DataRelation("Booking_To_MNI",dcBookingColsArray,dcBookingMNIColsArray);
ds.Relations.Add(relBooking_To_MNI_Units);

// grid where you want to display the relationship
grdBooking.DataSource = ds;
Run Code Online (Sandbox Code Playgroud)