DataGrid.DataMember Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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
Available since 1.1
Return to top