This documentation is archived and is not being maintained.

DataGrid.DataMember Property

Gets or sets the specific list in a DataSource for which the System.Windows.Forms.DataGrid control displays a grid.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public string DataMember { get; set; }

Property Value

Type: System.String
A list in a DataSource. The default is an empty string ("").

If a DataSource contains multiple sources of data, you should set the DataMember to one of the sources. For example, if the DataSource is a DataSet or DataViewManager that contains three tables named Customers, Orders, and OrderDetails, you must specify one of the tables to bind to. If the DataSet or DataViewManager contains only one DataTable, you should set the DataMember to the TableName of that DataTable.

If the DataSource is set to a DataSet that contains DataRelation objects, parent tables will appear with a plus sign (+) in each row header. Clicking the plus sign causes a node to appear that contains links to child tables. For example, if a DataSet contains two DataTable objects named Customers and Orders, setting the DataMember to the Customers table causes the System.Windows.Forms.DataGrid to display a parent table with a plus sign visible on each row header. If the DataMember is set to Orders, however, the row headers will be blank.

If the DataSource is a DataTable, DataView, collection, or array, setting the DataMember property throws an exception.


At run time, you must use the SetDataBinding method to reset the DataSource property. However, the DataMember property alone can be reset at any time to a valid table name.

The following code example sets the DataSource and DataMember properties of a System.Windows.Forms.DataGrid control.

protected object source;

private void SetSourceAndMember(){

   DataSet myDataSet = new DataSet("myDataSet");
   DataTable tableCustomers = new DataTable("Customers");
   // Insert code to populate the DataSet.

   // Set DataSource and DataMember with SetDataBinding method.
   string member;
   // The name of a DataTable is Customers.
   member = "Customers";
   dataGrid1.SetDataBinding(myDataSet, member);

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.