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.

[Visual Basic]
Public Property DataMember As String
public string DataMember {get; set;}
public: __property String* get_DataMember();
public: __property void set_DataMember(String*);
public function get DataMember() : String;
public function set DataMember(String);

Property Value

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.

Note   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.


[Visual Basic, C#, C++] The following example sets the DataSource and DataMember properties of a System.Windows.Forms.DataGrid control.

[Visual Basic] 
Private Sub SetSourceAndMember()
    Dim myDataSet As DataSet = New DataSet("myDataSet")
    Dim customersTable As DataTable = new DataTable("Customers")
    ' Insert code to set source to populate DataSet.
    ' Set DataSource and DataMember with SetDataBinding method.
    Dim member As String
    ' The name of a DataTable is Customers.
    member = "Customers"
    DataGrid1.SetDataBinding(myDataSet, member)
 End Sub

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);

Object* source;

void SetSourceAndMember(){

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

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

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

DataGrid Class | DataGrid Members | System.Windows.Forms Namespace | DataSource | DataSet | DataViewManager | SetDataBinding