Sono riuscito a capire che:
DataRelation dr = new DataRelation("custToOrders", cCustID, cID);
mette in relazione le due tabella con relazione padre-figlio, questo è proprio quello che volevo ottenere io (in parte).
Il problema fondamentale è che Vedo la tabella Costumer e il simbolo +, però cliccando sul + non vedo direttamente la tabella Orders (tabella figlia), ma vedo "custTOOrders" che linka alla tabella figlia. Posto direttamente il codice:
codice:
public partial class Form1 : Form
{
private DataGrid myDataGrid;
private DataSet myDataSet;
public Form1()
{
InitializeComponent();
this.myDataGrid = new DataGrid();
myDataGrid.Size = new Size(400, 400);
this.Controls.Add(myDataGrid);
// Create a DataSet.
myDataSet = new DataSet("myDataSet");
// Create two DataTables.
DataTable tCust = new DataTable("Customers");
DataTable tOrders = new DataTable("Orders");
// Create two columns, and add them to the first table.
DataColumn cCustID = new DataColumn("CustID", typeof(int));
DataColumn cCustName = new DataColumn("CustName");
DataColumn cCurrent = new DataColumn("Current", typeof(bool));
tCust.Columns.Add(cCustID);
tCust.Columns.Add(cCustName);
tCust.Columns.Add(cCurrent);
// Create three columns, and add them to the second table.
DataColumn cID = new DataColumn("CustID", typeof(int));
DataColumn cOrderDate = new DataColumn("orderDate", typeof(DateTime));
DataColumn cOrderAmount = new DataColumn("OrderAmount", typeof(decimal));
tOrders.Columns.Add(cOrderAmount);
tOrders.Columns.Add(cID);
tOrders.Columns.Add(cOrderDate);
// Aggiungo le due tabelle al DataSet
myDataSet.Tables.Add(tCust);
myDataSet.Tables.Add(tOrders);
// Imposto per il DataGrid da dove prendere i dati (Dataset, tabella padre).
myDataGrid.SetDataBinding(myDataSet, "Customers");
// Create a DataRelation, and add it to the DataSet.
DataRelation dr = new DataRelation("custToOrders", cCustID, cID);
myDataSet.Relations.Add(dr);
}
}