unknown method

  • Thread starter Thread starter Michael
  • Start date Start date
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
 
and the error message is:

System.Windows.Forms.DataGrid includes no definition for
SetDataBinding


what's going wrong there?
 
Back
Top