here are parts of my used code:
using System;
using System.ComponentModel;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using System.Globalization;
.....
private System.Windows.Forms.DataGridTextBoxColumn
dataGridTextBoxColumn1;
private System.Windows.Forms.DataGrid dataGrid1;
private System.Data.DataSet myDataSet;
....
private void MakeDataTables()
{
// Run all of the functions.
MakeParentTable();
MakeChildTable();
MakeDataRelation();
BindToDataGrid();
}
private void MakeParentTable()
{
// Create a new DataTable.
System.Data.DataTable myDataTable = new DataTable
("ParentTable");
// Declare variables for DataColumn and DataRow objects.
DataColumn myDataColumn;
DataRow myDataRow;
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType
("System.Int32");
myDataColumn.ColumnName = "id";
myDataColumn.ReadOnly = true;
myDataColumn.Unique = true;
// Add the Column to the DataColumnCollection.
myDataTable.Columns.Add(myDataColumn);
// Create second column.
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType
("System.String");
myDataColumn.ColumnName = "ParentItem";
myDataColumn.AutoIncrement = false;
myDataColumn.Caption = "ParentItem";
myDataColumn.ReadOnly = false;
myDataColumn.Unique = false;
// Add the column to the table.
myDataTable.Columns.Add
(myDataColumn);
// Make the ID column the primary
key column.
DataColumn[] PrimaryKeyColumns =
new DataColumn[1];
PrimaryKeyColumns[0] =
myDataTable.Columns["id"];
myDataTable.PrimaryKey =
PrimaryKeyColumns;
// Instantiate the DataSet
variable.
myDataSet = new DataSet();
// Add the new DataTable to the
DataSet.
myDataSet.Tables.Add(myDataTable);
// Create three new DataRow
objects and add them to the DataTable
for (int i = 0; i<= 2; i++)
{
myDataRow =
myDataTable.NewRow();
myDataRow["id"] = i;
myDataRow["ParentItem"]
= "ParentItem " + i;
myDataTable.Rows.Add
(myDataRow);
}
}
private void MakeChildTable()
{
// Create a new DataTable.
DataTable myDataTable = new
DataTable("childTable");
DataColumn myDataColumn;
DataRow myDataRow;
// Create first column and add to
the DataTable.
myDataColumn = new DataColumn();
myDataColumn.DataType=
System.Type.GetType("System.Int32");
myDataColumn.ColumnName
= "ChildID";
myDataColumn.AutoIncrement = true;
myDataColumn.Caption = "ID";
myDataColumn.ReadOnly = true;
myDataColumn.Unique = true;
// Add the column to the
DataColumnCollection.
myDataTable.Columns.Add
(myDataColumn);
// Create second column.
myDataColumn = new DataColumn();
myDataColumn.DataType=
System.Type.GetType("System.String");
myDataColumn.ColumnName
= "ChildItem";
myDataColumn.AutoIncrement =
false;
myDataColumn.Caption
= "ChildItem";
myDataColumn.ReadOnly = false;
myDataColumn.Unique = false;
myDataTable.Columns.Add
(myDataColumn);
// Create third column.
myDataColumn = new DataColumn();
myDataColumn.DataType=
System.Type.GetType("System.Int32");
myDataColumn.ColumnName
= "ParentID";
myDataColumn.AutoIncrement =
false;
myDataColumn.Caption = "ParentID";
myDataColumn.ReadOnly = false;
myDataColumn.Unique = false;
myDataTable.Columns.Add
(myDataColumn);
myDataSet.Tables.Add(myDataTable);
// Create three sets of DataRow
objects, five rows each, and add to DataTable.
for(int i = 0; i <= 4; i ++)
{
myDataRow =
myDataTable.NewRow();
myDataRow["childID"] = i;
myDataRow["ChildItem"]
= "Item " + i;
myDataRow["ParentID"] =
0 ;
myDataTable.Rows.Add
(myDataRow);
}
for(int i = 0; i <= 4; i ++)
{
myDataRow =
myDataTable.NewRow();
myDataRow["childID"] = i
+ 5;
myDataRow["ChildItem"]
= "Item " + i;
myDataRow["ParentID"] =
1 ;
myDataTable.Rows.Add
(myDataRow);
}
for(int i = 0; i <= 4; i ++)
{
myDataRow =
myDataTable.NewRow();
myDataRow["childID"] = i
+ 10;
myDataRow["ChildItem"]
= "Item " + i;
myDataRow["ParentID"] =
2 ;
myDataTable.Rows.Add
(myDataRow);
}
}
private void MakeDataRelation()
{
// DataRelation requires two
DataColumn (parent and child) and a name.
DataRelation myDataRelation;
DataColumn parentColumn;
DataColumn childColumn;
parentColumn = myDataSet.Tables
["ParentTable"].Columns["id"];
childColumn = myDataSet.Tables
["ChildTable"].Columns["ParentID"];
myDataRelation = new DataRelation
("parent2Child", parentColumn, childColumn);
myDataSet.Tables
["ChildTable"].ParentRelations.Add(myDataRelation);
}
private void BindToDataGrid()
{
// Instruct the DataGrid to bind
to the DataSet, with the
// ParentTable as the topmost
DataTable.
dataGrid1.SetDataBinding
(myDataSet,"ParentTable");
}
it's the same code from the help-file
and the effect is that the the method "SetDataBinding" is
not known for my datagrid
thanks for your help
it's also possibe to anwer me to my email adress