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.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft