Redigeeri

Jagamisviis:


DataGrid Class

Definition

Displays ADO.NET data in a scrollable grid.

This class is not available in .NET Core 3.1 and later versions. Use the DataGridView control instead, which replaces and extends the DataGrid control.

public ref class DataGrid : System::Windows::Forms::Control, System::ComponentModel::ISupportInitialize, System::Windows::Forms::IDataGridEditingService
public class DataGrid : System.Windows.Forms.Control, System.ComponentModel.ISupportInitialize, System.Windows.Forms.IDataGridEditingService
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
public class DataGrid : System.Windows.Forms.Control, System.ComponentModel.ISupportInitialize, System.Windows.Forms.IDataGridEditingService
type DataGrid = class
    inherit Control
    interface ISupportInitialize
    interface IDataGridEditingService
[<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>]
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DataGrid = class
    inherit Control
    interface ISupportInitialize
    interface IDataGridEditingService
Public Class DataGrid
Inherits Control
Implements IDataGridEditingService, ISupportInitialize
Inheritance
Attributes
Implements

Examples

The following code example creates a Windows form, a DataSet containing two DataTable objects, and a DataRelation that relates the two tables. To display the data, a System.Windows.Forms.DataGrid control is then bound to the DataSet through the SetDataBinding method. A button on the form changes the appearance of the grid by creating two DataGridTableStyle objects and setting the MappingName of each object to a TableName of one of the DataTable objects. The example also contains code in the MouseUp event that uses the HitTest method to print the column, row, and part of the grid that has been clicked.

#using <system.dll>
#using <system.data.dll>
#using <system.drawing.dll>
#using <system.windows.forms.dll>
#using <system.xml.dll>

using namespace System;
using namespace System::ComponentModel;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Windows::Forms;

#define null 0
public ref class Form1: public System::Windows::Forms::Form
{
private:
   System::ComponentModel::Container^ components;
   Button^ button1;
   Button^ button2;
   DataGrid^ myDataGrid;
   DataSet^ myDataSet;
   bool TablesAlreadyAdded;

public:
   Form1()
   {
      // Required for Windows Form Designer support.
      InitializeComponent();

      // Call SetUp to bind the controls.
      SetUp();
   }

public:
   ~Form1()
   {
      if ( components != nullptr )
      {
         delete components;
      }
   }

private:
   void InitializeComponent()
   {
      // Create the form and its controls.
      this->components = gcnew System::ComponentModel::Container;
      this->button1 = gcnew System::Windows::Forms::Button;
      this->button2 = gcnew System::Windows::Forms::Button;
      this->myDataGrid = gcnew DataGrid;
      this->Text = "DataGrid Control Sample";
      this->ClientSize = System::Drawing::Size( 450, 330 );
      button1->Location = System::Drawing::Point( 24, 16 );
      button1->Size = System::Drawing::Size( 120, 24 );
      button1->Text = "Change Appearance";
      button1->Click += gcnew System::EventHandler( this, &Form1::button1_Click );
      button2->Location = System::Drawing::Point( 150, 16 );
      button2->Size = System::Drawing::Size( 120, 24 );
      button2->Text = "Get Binding Manager";
      button2->Click += gcnew System::EventHandler( this, &Form1::button2_Click );
      myDataGrid->Location = System::Drawing::Point( 24, 50 );
      myDataGrid->Size = System::Drawing::Size( 300, 200 );
      myDataGrid->CaptionText = "Microsoft DataGrid Control";
      myDataGrid->MouseUp += gcnew MouseEventHandler( this, &Form1::Grid_MouseUp );
      this->Controls->Add( button1 );
      this->Controls->Add( button2 );
      this->Controls->Add( myDataGrid );
   }

   void SetUp()
   {
      // Create a DataSet with two tables and one relation.
      MakeDataSet();

      /* Bind the DataGrid to the DataSet. The dataMember
        specifies that the Customers table should be displayed.*/
      myDataGrid->SetDataBinding( myDataSet, "Customers" );
   }

private:
   void button1_Click( Object^ sender, System::EventArgs^ e )
   {
      if ( TablesAlreadyAdded )
            return;

      AddCustomDataTableStyle();
   }

private:
   void AddCustomDataTableStyle()
   {
      DataGridTableStyle^ ts1 = gcnew DataGridTableStyle;
      ts1->MappingName = "Customers";

      // Set other properties.
      ts1->AlternatingBackColor = Color::LightGray;

      /* Add a GridColumnStyle and set its MappingName 
        to the name of a DataColumn in the DataTable. 
        Set the HeaderText and Width properties. */
      DataGridColumnStyle^ boolCol = gcnew DataGridBoolColumn;
      boolCol->MappingName = "Current";
      boolCol->HeaderText = "IsCurrent Customer";
      boolCol->Width = 150;
      ts1->GridColumnStyles->Add( boolCol );

      // Add a second column style.
      DataGridColumnStyle^ TextCol = gcnew DataGridTextBoxColumn;
      TextCol->MappingName = "custName";
      TextCol->HeaderText = "Customer Name";
      TextCol->Width = 250;
      ts1->GridColumnStyles->Add( TextCol );

      // Create the second table style with columns.
      DataGridTableStyle^ ts2 = gcnew DataGridTableStyle;
      ts2->MappingName = "Orders";

      // Set other properties.
      ts2->AlternatingBackColor = Color::LightBlue;

      // Create new ColumnStyle objects
      DataGridColumnStyle^ cOrderDate = gcnew DataGridTextBoxColumn;
      cOrderDate->MappingName = "OrderDate";
      cOrderDate->HeaderText = "Order Date";
      cOrderDate->Width = 100;
      ts2->GridColumnStyles->Add( cOrderDate );

      /* Use a PropertyDescriptor to create a formatted
        column. First get the PropertyDescriptorCollection
        for the data source and data member. */
      PropertyDescriptorCollection^ pcol = this->BindingContext[myDataSet, "Customers.custToOrders"]->GetItemProperties();

      /* Create a formatted column using a PropertyDescriptor.
        The formatting character "c" specifies a currency format. */
      DataGridColumnStyle^ csOrderAmount = gcnew DataGridTextBoxColumn( pcol[ "OrderAmount" ],"c",true );
      csOrderAmount->MappingName = "OrderAmount";
      csOrderAmount->HeaderText = "Total";
      csOrderAmount->Width = 100;
      ts2->GridColumnStyles->Add( csOrderAmount );

      /* Add the DataGridTableStyle instances to 
        the GridTableStylesCollection. */
      myDataGrid->TableStyles->Add( ts1 );
      myDataGrid->TableStyles->Add( ts2 );

      // Sets the TablesAlreadyAdded to true so this doesn't happen again.
      TablesAlreadyAdded = true;
   }

private:
   void button2_Click( Object^ sender, System::EventArgs^ e )
   {
      BindingManagerBase^ bmGrid;
      bmGrid = BindingContext[myDataSet, "Customers"];
      MessageBox::Show( String::Concat( "Current BindingManager Position: ", bmGrid->Position )->ToString() );
   }

private:
   void Grid_MouseUp( Object^ sender, MouseEventArgs^ e )
   {
      // Create a HitTestInfo object using the HitTest method.
      // Get the DataGrid by casting sender.
      DataGrid^ myGrid = dynamic_cast<DataGrid^>(sender);
      DataGrid::HitTestInfo ^ myHitInfo = myGrid->HitTest( e->X, e->Y );
      Console::WriteLine( myHitInfo );
      Console::WriteLine( myHitInfo->Type );
      Console::WriteLine( myHitInfo->Row );
      Console::WriteLine( myHitInfo->Column );
   }

   // Create a DataSet with two tables and populate it.
   void MakeDataSet()
   {
      // Create a DataSet.
      myDataSet = gcnew DataSet( "myDataSet" );

      // Create two DataTables.
      DataTable^ tCust = gcnew DataTable( "Customers" );
      DataTable^ tOrders = gcnew DataTable( "Orders" );

      // Create two columns, and add them to the first table.
      DataColumn^ cCustID = gcnew DataColumn( "CustID",__int32::typeid );
      DataColumn^ cCustName = gcnew DataColumn( "CustName" );
      DataColumn^ cCurrent = gcnew DataColumn( "Current",bool::typeid );
      tCust->Columns->Add( cCustID );
      tCust->Columns->Add( cCustName );
      tCust->Columns->Add( cCurrent );

      // Create three columns, and add them to the second table.
      DataColumn^ cID = gcnew DataColumn( "CustID",__int32::typeid );
      DataColumn^ cOrderDate = gcnew DataColumn( "orderDate",DateTime::typeid );
      DataColumn^ cOrderAmount = gcnew DataColumn( "OrderAmount",Decimal::typeid );
      tOrders->Columns->Add( cOrderAmount );
      tOrders->Columns->Add( cID );
      tOrders->Columns->Add( cOrderDate );

      // Add the tables to the DataSet.
      myDataSet->Tables->Add( tCust );
      myDataSet->Tables->Add( tOrders );

      // Create a DataRelation, and add it to the DataSet.
      DataRelation^ dr = gcnew DataRelation( "custToOrders",cCustID,cID );
      myDataSet->Relations->Add( dr );

      /* Populate the tables. For each customer and order, 
        create need two DataRow variables. */
      DataRow^ newRow1;
      DataRow^ newRow2;

      // Create three customers in the Customers Table.
      for ( int i = 1; i < 4; i++ )
      {
         newRow1 = tCust->NewRow();
         newRow1[ "custID" ] = i;
         
         // Add the row to the Customers table.
         tCust->Rows->Add( newRow1 );
      }
      tCust->Rows[ 0 ][ "custName" ] = "Customer1";
      tCust->Rows[ 1 ][ "custName" ] = "Customer2";
      tCust->Rows[ 2 ][ "custName" ] = "Customer3";

      // Give the Current column a value.
      tCust->Rows[ 0 ][ "Current" ] = true;
      tCust->Rows[ 1 ][ "Current" ] = true;
      tCust->Rows[ 2 ][ "Current" ] = false;

      // For each customer, create five rows in the Orders table.
      for ( int i = 1; i < 4; i++ )
      {
         for ( int j = 1; j < 6; j++ )
         {
            newRow2 = tOrders->NewRow();
            newRow2[ "CustID" ] = i;
            newRow2[ "orderDate" ] = DateTime(2001,i,j * 2);
            newRow2[ "OrderAmount" ] = i * 10 + j * .1;
            
            // Add the row to the Orders table.
            tOrders->Rows->Add( newRow2 );
         }
      }
   }
};

int main()
{
   Application::Run( gcnew Form1 );
}
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
   private System.ComponentModel.Container components;
   private Button button1;
   private Button button2;
   private DataGrid myDataGrid;   
   private DataSet myDataSet;
   private bool TablesAlreadyAdded;
   public Form1()
   {
      // Required for Windows Form Designer support.
      InitializeComponent();
      // Call SetUp to bind the controls.
      SetUp();
   }

   protected override void Dispose( bool disposing ){
      if( disposing ){
         if (components != null){
            components.Dispose();}
      }
      base.Dispose( disposing );
   }
   private void InitializeComponent()
   {
      // Create the form and its controls.
      this.components = new System.ComponentModel.Container();
      this.button1 = new System.Windows.Forms.Button();
      this.button2 = new System.Windows.Forms.Button();
      this.myDataGrid = new DataGrid();
      
      this.Text = "DataGrid Control Sample";
      this.ClientSize = new System.Drawing.Size(450, 330);
      
      button1.Location = new Point(24, 16);
      button1.Size = new System.Drawing.Size(120, 24);
      button1.Text = "Change Appearance";
      button1.Click+=new System.EventHandler(button1_Click);

      button2.Location = new Point(150, 16);
      button2.Size = new System.Drawing.Size(120, 24);
      button2.Text = "Get Binding Manager";
      button2.Click+=new System.EventHandler(button2_Click);

      myDataGrid.Location = new  Point(24, 50);
      myDataGrid.Size = new Size(300, 200);
      myDataGrid.CaptionText = "Microsoft DataGrid Control";
      myDataGrid.MouseUp += new MouseEventHandler(Grid_MouseUp);
      
      this.Controls.Add(button1);
      this.Controls.Add(button2);
      this.Controls.Add(myDataGrid);
   }

   public static void Main()
   {
      Application.Run(new Form1());
   }
   
   private void SetUp()
   {
      // Create a DataSet with two tables and one relation.
      MakeDataSet();
      /* Bind the DataGrid to the DataSet. The dataMember
      specifies that the Customers table should be displayed.*/
      myDataGrid.SetDataBinding(myDataSet, "Customers");
   }

   private void button1_Click(object sender, System.EventArgs e)
   {
      if(TablesAlreadyAdded) return;
      AddCustomDataTableStyle();
   }

   private void AddCustomDataTableStyle()
   {
      DataGridTableStyle ts1 = new DataGridTableStyle();
      ts1.MappingName = "Customers";
      // Set other properties.
      ts1.AlternatingBackColor = Color.LightGray;

      /* Add a GridColumnStyle and set its MappingName 
      to the name of a DataColumn in the DataTable. 
      Set the HeaderText and Width properties. */
      
      DataGridColumnStyle boolCol = new DataGridBoolColumn();
      boolCol.MappingName = "Current";
      boolCol.HeaderText = "IsCurrent Customer";
      boolCol.Width = 150;
      ts1.GridColumnStyles.Add(boolCol);
      
      // Add a second column style.
      DataGridColumnStyle TextCol = new DataGridTextBoxColumn();
      TextCol.MappingName = "custName";
      TextCol.HeaderText = "Customer Name";
      TextCol.Width = 250;
      ts1.GridColumnStyles.Add(TextCol);

      // Create the second table style with columns.
      DataGridTableStyle ts2 = new DataGridTableStyle();
      ts2.MappingName = "Orders";

      // Set other properties.
      ts2.AlternatingBackColor = Color.LightBlue;
      
      // Create new ColumnStyle objects
      DataGridColumnStyle cOrderDate = 
      new DataGridTextBoxColumn();
      cOrderDate.MappingName = "OrderDate";
      cOrderDate.HeaderText = "Order Date";
      cOrderDate.Width = 100;
      ts2.GridColumnStyles.Add(cOrderDate);

      /* Use a PropertyDescriptor to create a formatted
      column. First get the PropertyDescriptorCollection
      for the data source and data member. */
      PropertyDescriptorCollection pcol = this.BindingContext
      [myDataSet, "Customers.custToOrders"].GetItemProperties();
 
      /* Create a formatted column using a PropertyDescriptor.
      The formatting character "c" specifies a currency format. */     
      DataGridColumnStyle csOrderAmount = 
      new DataGridTextBoxColumn(pcol["OrderAmount"], "c", true);
      csOrderAmount.MappingName = "OrderAmount";
      csOrderAmount.HeaderText = "Total";
      csOrderAmount.Width = 100;
      ts2.GridColumnStyles.Add(csOrderAmount);

      /* Add the DataGridTableStyle instances to 
      the GridTableStylesCollection. */
      myDataGrid.TableStyles.Add(ts1);
      myDataGrid.TableStyles.Add(ts2);

     // Sets the TablesAlreadyAdded to true so this doesn't happen again.
     TablesAlreadyAdded=true;
   }

   private void button2_Click(object sender, System.EventArgs e)
   {
      BindingManagerBase bmGrid;
      bmGrid = BindingContext[myDataSet, "Customers"];
      MessageBox.Show("Current BindingManager Position: " + bmGrid.Position);
   }

   private void Grid_MouseUp(object sender, MouseEventArgs e)
   {
      // Create a HitTestInfo object using the HitTest method.

      // Get the DataGrid by casting sender.
      DataGrid myGrid = (DataGrid)sender;
      DataGrid.HitTestInfo myHitInfo = myGrid.HitTest(e.X, e.Y);
      Console.WriteLine(myHitInfo);
      Console.WriteLine(myHitInfo.Type);
      Console.WriteLine(myHitInfo.Row);
      Console.WriteLine(myHitInfo.Column);
   }

   // Create a DataSet with two tables and populate it.
   private void MakeDataSet()
   {
      // Create a DataSet.
      myDataSet = new DataSet("myDataSet");
      
      // Create two DataTables.
      DataTable tCust = new DataTable("Customers");
      DataTable tOrders = new DataTable("Orders");

      // Create two columns, and add them to the first table.
      DataColumn cCustID = new DataColumn("CustID", typeof(int));
      DataColumn cCustName = new DataColumn("CustName");
      DataColumn cCurrent = new DataColumn("Current", typeof(bool));
      tCust.Columns.Add(cCustID);
      tCust.Columns.Add(cCustName);
      tCust.Columns.Add(cCurrent);

      // Create three columns, and add them to the second table.
      DataColumn cID = 
      new DataColumn("CustID", typeof(int));
      DataColumn cOrderDate = 
      new DataColumn("orderDate",typeof(DateTime));
      DataColumn cOrderAmount = 
      new DataColumn("OrderAmount", typeof(decimal));
      tOrders.Columns.Add(cOrderAmount);
      tOrders.Columns.Add(cID);
      tOrders.Columns.Add(cOrderDate);

      // Add the tables to the DataSet.
      myDataSet.Tables.Add(tCust);
      myDataSet.Tables.Add(tOrders);

      // Create a DataRelation, and add it to the DataSet.
      DataRelation dr = new DataRelation
      ("custToOrders", cCustID , cID);
      myDataSet.Relations.Add(dr);
   
      /* Populates the tables. For each customer and order, 
      creates two DataRow variables. */
      DataRow newRow1;
      DataRow newRow2;

      // Create three customers in the Customers Table.
      for(int i = 1; i < 4; i++)
      {
         newRow1 = tCust.NewRow();
         newRow1["custID"] = i;
         // Add the row to the Customers table.
         tCust.Rows.Add(newRow1);
      }
      // Give each customer a distinct name.
      tCust.Rows[0]["custName"] = "Customer1";
      tCust.Rows[1]["custName"] = "Customer2";
      tCust.Rows[2]["custName"] = "Customer3";

      // Give the Current column a value.
      tCust.Rows[0]["Current"] = true;
      tCust.Rows[1]["Current"] = true;
      tCust.Rows[2]["Current"] = false;

      // For each customer, create five rows in the Orders table.
      for(int i = 1; i < 4; i++)
      {
         for(int j = 1; j < 6; j++)
         {
            newRow2 = tOrders.NewRow();
            newRow2["CustID"]= i;
            newRow2["orderDate"]= new DateTime(2001, i, j * 2);
            newRow2["OrderAmount"] = i * 10 + j  * .1;
            // Add the row to the Orders table.
            tOrders.Rows.Add(newRow2);
         }
      }
   }
}
Option Explicit
Option Strict

Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
   Inherits System.Windows.Forms.Form
   Private components As System.ComponentModel.Container
   Private button1 As Button
   Private button2 As Button
   Private myDataGrid As DataGrid
   Private myDataSet As DataSet
   Private TablesAlreadyAdded As Boolean    
    
   Public Sub New()
      ' Required for Windows Form Designer support.
      InitializeComponent()
      ' Call SetUp to bind the controls.
      SetUp()
   End Sub 
        
  Private Sub InitializeComponent()
      ' Create the form and its controls.
      Me.components = New System.ComponentModel.Container()
      Me.button1 = New System.Windows.Forms.Button()
      Me.button2 = New System.Windows.Forms.Button()
      Me.myDataGrid = New DataGrid()
      
      Me.Text = "DataGrid Control Sample"
      Me.ClientSize = New System.Drawing.Size(450, 330)
        
      button1.Location = New Point(24, 16)
      button1.Size = New System.Drawing.Size(120, 24)
      button1.Text = "Change Appearance"
      AddHandler button1.Click, AddressOf button1_Click
        
      button2.Location = New Point(150, 16)
      button2.Size = New System.Drawing.Size(120, 24)
      button2.Text = "Get Binding Manager"
      AddHandler button2.Click, AddressOf button2_Click
        
      myDataGrid.Location = New Point(24, 50)
      myDataGrid.Size = New Size(300, 200)
      myDataGrid.CaptionText = "Microsoft DataGrid Control"
      AddHandler myDataGrid.MouseUp, AddressOf Grid_MouseUp
        
      Me.Controls.Add(button1)
      Me.Controls.Add(button2)
      Me.Controls.Add(myDataGrid)
   End Sub 
    
   Public Shared Sub Main()
      Application.Run(New Form1())
   End Sub 
        
   Private Sub SetUp()
      ' Create a DataSet with two tables and one relation.
      MakeDataSet()
      ' Bind the DataGrid to the DataSet. The dataMember
      ' specifies that the Customers table should be displayed.
      myDataGrid.SetDataBinding(myDataSet, "Customers")
   End Sub 
        
    Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If TablesAlreadyAdded = True Then Exit Sub
        AddCustomDataTableStyle()
    End Sub
   
   Private Sub AddCustomDataTableStyle()
      Dim ts1 As New DataGridTableStyle()
      ts1.MappingName = "Customers"
      ' Set other properties.
      ts1.AlternatingBackColor = Color.LightGray
      ' Add a GridColumnStyle and set its MappingName 
      ' to the name of a DataColumn in the DataTable. 
      ' Set the HeaderText and Width properties. 
        
      Dim boolCol As New DataGridBoolColumn()
      boolCol.MappingName = "Current"
      boolCol.HeaderText = "IsCurrent Customer"
      boolCol.Width = 150
      ts1.GridColumnStyles.Add(boolCol)
        
      ' Add a second column style.
      Dim TextCol As New DataGridTextBoxColumn()
      TextCol.MappingName = "custName"
      TextCol.HeaderText = "Customer Name"
      TextCol.Width = 250
      ts1.GridColumnStyles.Add(TextCol)
        
      ' Create the second table style with columns.
      Dim ts2 As New DataGridTableStyle()
      ts2.MappingName = "Orders"
        
      ' Set other properties.
      ts2.AlternatingBackColor = Color.LightBlue
        
      ' Create new ColumnStyle objects
      Dim cOrderDate As New DataGridTextBoxColumn()
      cOrderDate.MappingName = "OrderDate"
      cOrderDate.HeaderText = "Order Date"
      cOrderDate.Width = 100
      ts2.GridColumnStyles.Add(cOrderDate)

      ' Use a PropertyDescriptor to create a formatted
      ' column. First get the PropertyDescriptorCollection
      ' for the data source and data member. 
      Dim pcol As PropertyDescriptorCollection = _
      Me.BindingContext(myDataSet, "Customers.custToOrders"). _
      GetItemProperties()

      ' Create a formatted column using a PropertyDescriptor.
      ' The formatting character "c" specifies a currency format. */     
        
      Dim csOrderAmount As _
      New DataGridTextBoxColumn(pcol("OrderAmount"), "c", True)
      csOrderAmount.MappingName = "OrderAmount"
      csOrderAmount.HeaderText = "Total"
      csOrderAmount.Width = 100
      ts2.GridColumnStyles.Add(csOrderAmount)
        
      ' Add the DataGridTableStyle instances to 
      ' the GridTableStylesCollection. 
      myDataGrid.TableStyles.Add(ts1)
      myDataGrid.TableStyles.Add(ts2)

     ' Sets the TablesAlreadyAdded to true so this doesn't happen again.
      TablesAlreadyAdded = true
   End Sub 
    
    Private Sub button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim bmGrid As BindingManagerBase
        bmGrid = BindingContext(myDataSet, "Customers")
        MessageBox.Show(("Current BindingManager Position: " & bmGrid.Position))
    End Sub
        
   Private Sub Grid_MouseUp(sender As Object, e As MouseEventArgs)
      ' Create a HitTestInfo object using the HitTest method.
      ' Get the DataGrid by casting sender.
      Dim myGrid As DataGrid = CType(sender, DataGrid)
      Dim myHitInfo As DataGrid.HitTestInfo = myGrid.HitTest(e.X, e.Y)
      Console.WriteLine(myHitInfo)
      Console.WriteLine(myHitInfo.Type)
      Console.WriteLine(myHitInfo.Row)
      Console.WriteLine(myHitInfo.Column)
   End Sub 
        
   ' Create a DataSet with two tables and populate it.
   Private Sub MakeDataSet()
      ' Create a DataSet.
      myDataSet = New DataSet("myDataSet")
       
      ' Create two DataTables.
      Dim tCust As New DataTable("Customers")
      Dim tOrders As New DataTable("Orders")
      
      ' Create two columns, and add them to the first table.
      Dim cCustID As New DataColumn("CustID", GetType(Integer))
      Dim cCustName As New DataColumn("CustName")
      Dim cCurrent As New DataColumn("Current", GetType(Boolean))
      tCust.Columns.Add(cCustID)
      tCust.Columns.Add(cCustName)
      tCust.Columns.Add(cCurrent)
       
      ' Create three columns, and add them to the second table.
      Dim cID As New DataColumn("CustID", GetType(Integer))
      Dim cOrderDate As New DataColumn("orderDate", GetType(DateTime))
      Dim cOrderAmount As New DataColumn("OrderAmount", GetType(Decimal))
      tOrders.Columns.Add(cOrderAmount)
      tOrders.Columns.Add(cID)
      tOrders.Columns.Add(cOrderDate)
       
      ' Add the tables to the DataSet.
      myDataSet.Tables.Add(tCust)
      myDataSet.Tables.Add(tOrders)
        
      ' Create a DataRelation, and add it to the DataSet.
      Dim dr As New DataRelation("custToOrders", cCustID, cID)
      myDataSet.Relations.Add(dr)
        
      ' Populates the tables. For each customer and order, 
      ' creates two DataRow variables. 
      Dim newRow1 As DataRow
      Dim newRow2 As DataRow
        
      ' Create three customers in the Customers Table.
      Dim i As Integer
      For i = 1 To 3
         newRow1 = tCust.NewRow()
         newRow1("custID") = i
         ' Add the row to the Customers table.
         tCust.Rows.Add(newRow1)
      Next i
      ' Give each customer a distinct name.
      tCust.Rows(0)("custName") = "Customer1"
      tCust.Rows(1)("custName") = "Customer2"
      tCust.Rows(2)("custName") = "Customer3"
        
      ' Give the Current column a value.
      tCust.Rows(0)("Current") = True
      tCust.Rows(1)("Current") = True
      tCust.Rows(2)("Current") = False
        
      ' For each customer, create five rows in the Orders table.
      For i = 1 To 3
         Dim j As Integer
         For j = 1 To 5
            newRow2 = tOrders.NewRow()
            newRow2("CustID") = i
            newRow2("orderDate") = New DateTime(2001, i, j * 2)
            newRow2("OrderAmount") = i * 10 + j * 0.1
            ' Add the row to the Orders table.
            tOrders.Rows.Add(newRow2)
         Next j
      Next i
   End Sub 
End Class

Remarks

This class is not available in .NET Core 3.1 and later versions. Use the DataGridView control instead.

The System.Windows.Forms.DataGrid displays Web-like links to child tables. You can click on a link to navigate to the child table. When a child table is displayed, a back button appears in the caption that can be clicked to navigate back to the parent table. The data from the parent rows is displayed below the caption and above the column headers. You can hide the parent row information by clicking the button to the right of the back button.

To display a table in the System.Windows.Forms.DataGrid at run time, use the SetDataBinding method to set the DataSource and DataMember properties to a valid data source. The following data sources are valid:

For more information about the DataSet class, see DataSets, DataTables, and DataViews.

You can create a grid that enables users to edit data but prevents them from adding new rows by using a DataView as the data source and setting the AllowNew property to false.

Data sources are further managed by BindingManagerBase objects. For each table in a data source, a BindingManagerBase can be returned from the form's BindingContext. For example, you can determine the number of rows contained by a data source by returning the associated BindingManagerBase object's Count property.

To validate data, use the underlying objects that represent data and their events. For example, if the data comes from a DataTable in a DataSet, use the ColumnChanging and RowChanging events.

Note

Because the number of columns can be customized (by adding or deleting members of the GridColumnStylesCollection) and the rows can be sorted by column, the RowNumber and ColumnNumber property values cannot be guaranteed to correspond to DataRow and DataColumn indexes in a DataTable. Therefore you should avoid using those properties in the Validating event to validate data.

To determine which cell is selected, use the CurrentCell property. Change the value of any cell by using the Item[] property, which can take either the row and column indexes of the cell, or a single DataGridCell. Monitor the CurrentCellChanged event to detect when the user selects another cell.

To determine which part of the control the user clicked, use the HitTest method in the MouseDown event. The HitTest method returns a DataGrid.HitTestInfo object, which contains the row and column of a clicked area.

To manage the appearance of the control at run time, several properties for setting the color and caption attributes are available, including the CaptionForeColor, CaptionBackColor, CaptionFont, and so on.

The appearance of the displayed grid (or grids) can be further modified by creating DataGridTableStyle objects and adding them to the GridTableStylesCollection, which is accessed through the TableStyles property. For example, if the DataSource is set to a DataSet containing three DataTable objects, you can add three DataGridTableStyle objects to the collection, one for each table. To synchronize each DataGridTableStyle object with a DataTable, set the MappingName of the DataGridTableStyle to the TableName of the DataTable. For more information about binding to an array of objects, see the DataGridTableStyle.MappingName property.

To create a customized view of a table, create an instance of a DataGridTextBoxColumn or DataGridBoolColumn class and add the object to the GridTableStylesCollection accessed through the TableStyles property. Both classes inherit from DataGridColumnStyle. For each column style, set the MappingName to the ColumnName of a column that you want to show in the grid. To hide a column, set its MappingName to something other than a valid ColumnName.

To format the text of a column, set the Format property of the DataGridTextBoxColumn to one of the values found in Formatting Types and Custom Date and Time Format Strings.

To bind the DataGrid to a strongly typed array of objects, the object type must contain public properties. To create a DataGridTableStyle that displays the array, set the DataGridTableStyle.MappingName property to typename[] where typename is replaced by the name of the object type. Also note that the MappingName property is case-sensitive; the type name must be matched exactly. See the MappingName property for an example.

You can also bind the DataGrid to an ArrayList. A feature of the ArrayList is that it can contain objects of multiple types, but the DataGrid can only bind to such a list when all items in the list are of the same type as the first item. This means that all objects must either be of the same type, or they must inherit from the same class as the first item in the list. For example, if the first item in a list is a Control, the second item could be a TextBox (which inherits from Control). If, on the other hand, the first item is a TextBox, the second object cannot be a Control. Further, the ArrayList must have items in it when it is bound. An empty ArrayList will result in an empty grid. In addition, the objects in the ArrayList must contain public properties. When binding to an ArrayList, set the MappingName of the DataGridTableStyle to "ArrayList" (the type name).

For each DataGridTableStyle, you can set color and caption attributes that override the settings for the System.Windows.Forms.DataGrid control. However, if those properties are not set, the settings for the control are used by default. The following properties can be overridden by DataGridTableStyle properties:

To customize the appearance of individual columns, add DataGridColumnStyle objects to the GridColumnStylesCollection, which is accessed through the GridColumnStyles property of each DataGridTableStyle. To synchronize each DataGridColumnStyle with a DataColumn in the DataTable, set the MappingName to the ColumnName of a DataColumn. When constructing a DataGridColumnStyle, you can also set a formatting string that specifies how the column displays data. For example, you can specify that the column use a short-date format to display dates contained in the table.

Caution

Always create DataGridColumnStyle objects and add them to the GridColumnStylesCollection before adding DataGridTableStyle objects to the GridTableStylesCollection. When you add an empty DataGridTableStyle with a valid MappingName value to the collection, DataGridColumnStyle objects are automatically generated for you. Consequently, an exception will be thrown if you try to add new DataGridColumnStyle objects with duplicate MappingName values to the GridColumnStylesCollection.

Note

The DataGridView control replaces and adds functionality to the DataGrid control; however, the DataGrid control is retained for both backward compatibility and future use, if you choose. For more information, see Differences Between the Windows Forms DataGridView and DataGrid Controls.

Constructors

DataGrid()

Initializes a new instance of the DataGrid class.

Properties

AccessibilityObject

Gets the AccessibleObject assigned to the control.

(Inherited from Control)
AccessibleDefaultActionDescription

Gets or sets the default action description of the control for use by accessibility client applications.

(Inherited from Control)
AccessibleDescription

Gets or sets the description of the control used by accessibility client applications.

(Inherited from Control)
AccessibleName

Gets or sets the name of the control used by accessibility client applications.

(Inherited from Control)
AccessibleRole

Gets or sets the accessible role of the control.

(Inherited from Control)
AllowDrop

Gets or sets a value indicating whether the control can accept data that the user drags onto it.

(Inherited from Control)
AllowNavigation

Gets or sets a value indicating whether navigation is allowed.

AllowSorting

Gets or sets a value indicating whether the grid can be resorted by clicking on a column header.

AlternatingBackColor

Gets or sets the background color of odd-numbered rows of the grid.

Anchor

Gets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent.

(Inherited from Control)
AutoScrollOffset

Gets or sets where this control is scrolled to in ScrollControlIntoView(Control).

(Inherited from Control)
AutoSize

This property is not relevant for this class.

(Inherited from Control)
BackColor

Gets or sets the background color of even-numbered rows of the grid.

BackgroundColor

Gets or sets the color of the non-row area of the grid.

BackgroundImage

This member is not meaningful for this control.

BackgroundImageLayout

This member is not meaningful for this control.

BackgroundImageLayout

Gets or sets the background image layout as defined in the ImageLayout enumeration.

(Inherited from Control)
BindingContext

Gets or sets the BindingContext for the control.

(Inherited from Control)
BorderStyle

Gets or sets the grid's border style.

Bottom

Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area.

(Inherited from Control)
Bounds

Gets or sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control.

(Inherited from Control)
CanEnableIme

Gets a value indicating whether the ImeMode property can be set to an active value, to enable IME support.

(Inherited from Control)
CanFocus

Gets a value indicating whether the control can receive focus.

(Inherited from Control)
CanRaiseEvents

Determines if events can be raised on the control.

(Inherited from Control)
CanSelect

Gets a value indicating whether the control can be selected.

(Inherited from Control)
CaptionBackColor

Gets or sets the background color of the caption area.

CaptionFont

Gets or sets the font of the grid's caption.

CaptionForeColor

Gets or sets the foreground color of the caption area.

CaptionText

Gets or sets the text of the grid's window caption.

CaptionVisible

Gets or sets a value that indicates whether the grid's caption is visible.

Capture

Gets or sets a value indicating whether the control has captured the mouse.

(Inherited from Control)
CausesValidation

Gets or sets a value indicating whether the control causes validation to be performed on any controls that require validation when it receives focus.

(Inherited from Control)
ClientRectangle

Gets the rectangle that represents the client area of the control.

(Inherited from Control)
ClientSize

Gets or sets the height and width of the client area of the control.

(Inherited from Control)
ColumnHeadersVisible

Gets or sets a value indicating whether the column headers of a table are visible.

CompanyName

Gets the name of the company or creator of the application containing the control.

(Inherited from Control)
Container

Gets the IContainer that contains the Component.

(Inherited from Component)
ContainsFocus

Gets a value indicating whether the control, or one of its child controls, currently has the input focus.

(Inherited from Control)
ContextMenu

Gets or sets the shortcut menu associated with the control.

(Inherited from Control)
ContextMenuStrip

Gets or sets the ContextMenuStrip associated with this control.

(Inherited from Control)
Controls

Gets the collection of controls contained within the control.

(Inherited from Control)
Created

Gets a value indicating whether the control has been created.

(Inherited from Control)
CreateParams

Gets the required creation parameters when the control handle is created.

(Inherited from Control)
CurrentCell

Gets or sets which cell has the focus. Not available at design time.

CurrentRowIndex

Gets or sets index of the row that currently has focus.

Cursor

This member is not meaningful for this control.

DataBindings

Gets the data bindings for the control.

(Inherited from Control)
DataContext

Gets or sets the data context for the purpose of data binding. This is an ambient property.

(Inherited from Control)
DataMember

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

DataSource

Gets or sets the data source that the grid is displaying data for.

DefaultCursor

Gets or sets the default cursor for the control.

(Inherited from Control)
DefaultImeMode

Gets the default Input Method Editor (IME) mode supported by the control.

(Inherited from Control)
DefaultMargin

Gets the space, in pixels, that is specified by default between controls.

(Inherited from Control)
DefaultMaximumSize

Gets the length and height, in pixels, that is specified as the default maximum size of a control.

(Inherited from Control)
DefaultMinimumSize

Gets the length and height, in pixels, that is specified as the default minimum size of a control.

(Inherited from Control)
DefaultPadding

Gets the default internal spacing, in pixels, of the contents of a control.

(Inherited from Control)
DefaultSize

Gets the default size of the control.

DesignMode

Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
DeviceDpi

Gets the DPI value for the display device where the control is currently being displayed.

(Inherited from Control)
DisplayRectangle

Gets the rectangle that represents the display area of the control.

(Inherited from Control)
Disposing

Gets a value indicating whether the base Control class is in the process of disposing.

(Inherited from Control)
Dock

Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent.

(Inherited from Control)
DoubleBuffered

Gets or sets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker.

(Inherited from Control)
Enabled

Gets or sets a value indicating whether the control can respond to user interaction.

(Inherited from Control)
Events

Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
FirstVisibleColumn

Gets the index of the first visible column in a grid.

FlatMode

Gets or sets a value indicating whether the grid displays in flat mode.

Focused

Gets a value indicating whether the control has input focus.

(Inherited from Control)
Font

Gets or sets the font of the text displayed by the control.

(Inherited from Control)
FontHeight

Gets or sets the height of the font of the control.

(Inherited from Control)
ForeColor

Gets or sets the foreground color (typically the color of the text) property of the DataGrid control.

GridLineColor

Gets or sets the color of the grid lines.

GridLineStyle

Gets or sets the line style of the grid.

Handle

Gets the window handle that the control is bound to.

(Inherited from Control)
HasChildren

Gets a value indicating whether the control contains one or more child controls.

(Inherited from Control)
HeaderBackColor

Gets or sets the background color of all row and column headers.

HeaderFont

Gets or sets the font used for column headers.

HeaderForeColor

Gets or sets the foreground color of headers.

Height

Gets or sets the height of the control.

(Inherited from Control)
HorizScrollBar

Gets the horizontal scroll bar for the grid.

ImeMode

Gets or sets the Input Method Editor (IME) mode of the control.

(Inherited from Control)
ImeModeBase

Gets or sets the IME mode of a control.

(Inherited from Control)
InvokeRequired

Gets a value indicating whether the caller must call an invoke method when making method calls to the control because the caller is on a different thread than the one the control was created on.

(Inherited from Control)
IsAccessible

Gets or sets a value indicating whether the control is visible to accessibility applications.

(Inherited from Control)
IsAncestorSiteInDesignMode

Indicates if one of the Ancestors of this control is sited and that site in DesignMode. This property is read-only.

(Inherited from Control)
IsDisposed

Gets a value indicating whether the control has been disposed of.

(Inherited from Control)
IsHandleCreated

Gets a value indicating whether the control has a handle associated with it.

(Inherited from Control)
IsMirrored

Gets a value indicating whether the control is mirrored.

(Inherited from Control)
Item[DataGridCell]

Gets or sets the value of a specified DataGridCell.

Item[Int32, Int32]

Gets or sets the value of the cell at the specified the row and column.

LayoutEngine

Gets a cached instance of the control's layout engine.

(Inherited from Control)
Left

Gets or sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area.

(Inherited from Control)
LinkColor

Gets or sets the color of the text that you can click to navigate to a child table.

LinkHoverColor

This member is not meaningful for this control.

ListManager

Gets the CurrencyManager for this DataGrid control.

Location

Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.

(Inherited from Control)
Margin

Gets or sets the space between controls.

(Inherited from Control)
MaximumSize

Gets or sets the size that is the upper limit that GetPreferredSize(Size) can specify.

(Inherited from Control)
MinimumSize

Gets or sets the size that is the lower limit that GetPreferredSize(Size) can specify.

(Inherited from Control)
Name

Gets or sets the name of the control.

(Inherited from Control)
Padding

Gets or sets padding within the control.

(Inherited from Control)
Parent

Gets or sets the parent container of the control.

(Inherited from Control)
ParentRowsBackColor

Gets or sets the background color of parent rows.

ParentRowsForeColor

Gets or sets the foreground color of parent rows.

ParentRowsLabelStyle

Gets or sets the way parent row labels are displayed.

ParentRowsVisible

Gets or sets a value indicating whether the parent rows of a table are visible.

PreferredColumnWidth

Gets or sets the default width of the grid columns in pixels.

PreferredRowHeight

Gets or sets the preferred row height for the DataGrid control.

PreferredSize

Gets the size of a rectangular area into which the control can fit.

(Inherited from Control)
ProductName

Gets the product name of the assembly containing the control.

(Inherited from Control)
ProductVersion

Gets the version of the assembly containing the control.

(Inherited from Control)
ReadOnly

Gets or sets a value indicating whether the grid is in read-only mode.

RecreatingHandle

Gets a value indicating whether the control is currently re-creating its handle.

(Inherited from Control)
Region

Gets or sets the window region associated with the control.

(Inherited from Control)
RenderRightToLeft
Obsolete.
Obsolete.

This property is now obsolete.

(Inherited from Control)
ResizeRedraw

Gets or sets a value indicating whether the control redraws itself when resized.

(Inherited from Control)
Right

Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area.

(Inherited from Control)
RightToLeft

Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts.

(Inherited from Control)
RowHeadersVisible

Gets or sets a value that specifies whether row headers are visible.

RowHeaderWidth

Gets or sets the width of row headers.

ScaleChildren

Gets a value that determines the scaling of child controls.

(Inherited from Control)
SelectionBackColor

Gets or sets the background color of selected rows.

SelectionForeColor

Gets or set the foreground color of selected rows.

ShowFocusCues

Gets a value indicating whether the control should display focus rectangles.

(Inherited from Control)
ShowKeyboardCues

Gets a value indicating whether the user interface is in the appropriate state to show or hide keyboard accelerators.

(Inherited from Control)
Site

Gets or sets the site of the control.

Size

Gets or sets the height and width of the control.

(Inherited from Control)
TabIndex

Gets or sets the tab order of the control within its container.

(Inherited from Control)
TableStyles

Gets the collection of DataGridTableStyle objects for the grid.

TabStop

Gets or sets a value indicating whether the user can give the focus to this control using the TAB key.

(Inherited from Control)
Tag

Gets or sets the object that contains data about the control.

(Inherited from Control)
Text

This member is not meaningful for this control.

Top

Gets or sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area.

(Inherited from Control)
TopLevelControl

Gets the parent control that is not parented by another Windows Forms control. Typically, this is the outermost Form that the control is contained in.

(Inherited from Control)
UseWaitCursor

Gets or sets a value indicating whether to use the wait cursor for the current control and all child controls.

(Inherited from Control)
VertScrollBar

Gets the vertical scroll bar of the control.

Visible

Gets or sets a value indicating whether the control and all its child controls are displayed.

(Inherited from Control)
VisibleColumnCount

Gets the number of visible columns.

VisibleRowCount

Gets the number of rows visible.

Width

Gets or sets the width of the control.

(Inherited from Control)
WindowTarget

This property is not relevant for this class.

(Inherited from Control)

Methods

AccessibilityNotifyClients(AccessibleEvents, Int32, Int32)

Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control .

(Inherited from Control)
AccessibilityNotifyClients(AccessibleEvents, Int32)

Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control.

(Inherited from Control)
BeginEdit(DataGridColumnStyle, Int32)

Attempts to put the grid into a state where editing is allowed.

BeginInit()

Begins the initialization of a DataGrid that is used on a form or used by another component. The initialization occurs at run time.

BeginInvoke(Action)

Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on.

(Inherited from Control)
BeginInvoke(Delegate, Object[])

Executes the specified delegate asynchronously with the specified arguments, on the thread that the control's underlying handle was created on.

(Inherited from Control)
BeginInvoke(Delegate)

Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on.

(Inherited from Control)
BringToFront()

Brings the control to the front of the z-order.

(Inherited from Control)
CancelEditing()

Cancels the current edit operation and rolls back all changes.

Collapse(Int32)

Collapses child relations, if any exist for all rows, or for a specified row.

ColumnStartedEditing(Control)

Informs the DataGrid control when the user begins to edit a column using the specified control.

ColumnStartedEditing(Rectangle)

Informs the DataGrid control when the user begins to edit the column at the specified location.

Contains(Control)

Retrieves a value indicating whether the specified control is a child of the control.

(Inherited from Control)
CreateAccessibilityInstance()

Constructs a new instance of the accessibility object for this control.

CreateControl()

Forces the creation of the visible control, including the creation of the handle and any visible child controls.

(Inherited from Control)
CreateControlsInstance()

Creates a new instance of the control collection for the control.

(Inherited from Control)
CreateGraphics()

Creates the Graphics for the control.

(Inherited from Control)
CreateGridColumn(PropertyDescriptor, Boolean)

Creates a DataGridColumnStyle using the specified PropertyDescriptor.

CreateGridColumn(PropertyDescriptor)

Creates a new DataGridColumnStyle with the specified PropertyDescriptor.

CreateHandle()

Creates a handle for the control.

(Inherited from Control)
CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
DefWndProc(Message)

Sends the specified message to the default window procedure.

(Inherited from Control)
DestroyHandle()

Destroys the handle associated with the control.

(Inherited from Control)
Dispose()

Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean)

Disposes of the resources (other than memory) used by the DataGrid.

DoDragDrop(Object, DragDropEffects, Bitmap, Point, Boolean)

Begins a drag operation.

(Inherited from Control)
DoDragDrop(Object, DragDropEffects)

Begins a drag-and-drop operation.

(Inherited from Control)
DrawToBitmap(Bitmap, Rectangle)

Supports rendering to the specified bitmap.

(Inherited from Control)
EndEdit(DataGridColumnStyle, Int32, Boolean)

Requests an end to an edit operation taking place on the DataGrid control.

EndInit()

Ends the initialization of a DataGrid that is used on a form or used by another component. The initialization occurs at run time.

EndInvoke(IAsyncResult)

Retrieves the return value of the asynchronous operation represented by the IAsyncResult passed.

(Inherited from Control)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Expand(Int32)

Displays child relations, if any exist, for all rows or a specific row.

FindForm()

Retrieves the form that the control is on.

(Inherited from Control)
Focus()

Sets input focus to the control.

(Inherited from Control)
GetAccessibilityObjectById(Int32)

Retrieves the specified AccessibleObject.

(Inherited from Control)
GetAutoSizeMode()

Retrieves a value indicating how a control will behave when its AutoSize property is enabled.

(Inherited from Control)
GetCellBounds(DataGridCell)

Gets the Rectangle of the cell specified by DataGridCell.

GetCellBounds(Int32, Int32)

Gets the Rectangle of the cell specified by row and column number.

GetChildAtPoint(Point, GetChildAtPointSkip)

Retrieves the child control that is located at the specified coordinates, specifying whether to ignore child controls of a certain type.

(Inherited from Control)
GetChildAtPoint(Point)

Retrieves the child control that is located at the specified coordinates.

(Inherited from Control)
GetContainerControl()

Returns the next ContainerControl up the control's chain of parent controls.

(Inherited from Control)
GetCurrentCellBounds()

Gets a Rectangle that specifies the four corners of the selected cell.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()
Obsolete.

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetNextControl(Control, Boolean)

Retrieves the next control forward or back in the tab order of child controls.

(Inherited from Control)
GetOutputTextDelimiter()

Gets the string that is the delimiter between columns when row contents are copied to the Clipboard.

GetPreferredSize(Size)

Retrieves the size of a rectangular area into which a control can be fitted.

(Inherited from Control)
GetScaledBounds(Rectangle, SizeF, BoundsSpecified)

Retrieves the bounds within which the control is scaled.

(Inherited from Control)
GetService(Type)

Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetStyle(ControlStyles)

Retrieves the value of the specified control style bit for the control.

(Inherited from Control)
GetTopLevel()

Determines if the control is a top-level control.

(Inherited from Control)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GridHScrolled(Object, ScrollEventArgs)

Listens for the scroll event of the horizontal scroll bar.

GridVScrolled(Object, ScrollEventArgs)

Listens for the scroll event of the vertical scroll bar.

Hide()

Conceals the control from the user.

(Inherited from Control)
HitTest(Int32, Int32)

Gets information, such as row and column number of a clicked point on the grid, using the x and y coordinate passed to the method.

HitTest(Point)

Gets information, such as row and column number of a clicked point on the grid, about the grid using a specific Point.

InitializeLifetimeService()
Obsolete.

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
InitLayout()

Called after the control has been added to another container.

(Inherited from Control)
Invalidate()

Invalidates the entire surface of the control and causes the control to be redrawn.

(Inherited from Control)
Invalidate(Boolean)

Invalidates a specific region of the control and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control.

(Inherited from Control)
Invalidate(Rectangle, Boolean)

Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control.

(Inherited from Control)
Invalidate(Rectangle)

Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control.

(Inherited from Control)
Invalidate(Region, Boolean)

Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control.

(Inherited from Control)
Invalidate(Region)

Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control.

(Inherited from Control)
Invoke(Action)

Executes the specified delegate on the thread that owns the control's underlying window handle.

(Inherited from Control)
Invoke(Delegate, Object[])

Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments.

(Inherited from Control)
Invoke(Delegate)

Executes the specified delegate on the thread that owns the control's underlying window handle.

(Inherited from Control)
Invoke<T>(Func<T>)

Executes the specified delegate on the thread that owns the control's underlying window handle.

(Inherited from Control)
InvokeAsync(Action, CancellationToken)

Invokes the specified synchronous callback asynchronously on the thread that owns the control's handle.

(Inherited from Control)
InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken)

Executes the specified asynchronous callback on the thread that owns the control's handle asynchronously.

(Inherited from Control)
InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken)

Executes the specified asynchronous callback on the thread that owns the control's handle.

(Inherited from Control)
InvokeAsync<T>(Func<T>, CancellationToken)

Invokes the specified synchronous callback asynchronously on the thread that owns the control's handle.

(Inherited from Control)
InvokeGotFocus(Control, EventArgs)

Raises the GotFocus event for the specified control.

(Inherited from Control)
InvokeLostFocus(Control, EventArgs)

Raises the LostFocus event for the specified control.

(Inherited from Control)
InvokeOnClick(Control, EventArgs)

Raises the Click event for the specified control.

(Inherited from Control)
InvokePaint(Control, PaintEventArgs)

Raises the Paint event for the specified control.

(Inherited from Control)
InvokePaintBackground(Control, PaintEventArgs)

Raises the PaintBackground event for the specified control.

(Inherited from Control)
IsExpanded(Int32)

Gets a value that indicates whether the node of a specified row is expanded or collapsed.

IsInputChar(Char)

Determines if a character is an input character that the control recognizes.

(Inherited from Control)
IsInputKey(Keys)

Determines whether the specified key is a regular input key or a special key that requires preprocessing.

(Inherited from Control)
IsSelected(Int32)

Gets a value indicating whether a specified row is selected.

LogicalToDeviceUnits(Int32)

Converts a Logical DPI value to its equivalent DeviceUnit DPI value.

(Inherited from Control)
LogicalToDeviceUnits(Size)

Transforms a size from logical to device units by scaling it for the current DPI and rounding down to the nearest integer value for width and height.

(Inherited from Control)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
NavigateBack()

Navigates back to the table previously displayed in the grid.

NavigateTo(Int32, String)

Navigates to the table specified by row and relation name.

NotifyInvalidate(Rectangle)

Raises the Invalidated event with a specified region of the control to invalidate.

(Inherited from Control)
OnAllowNavigationChanged(EventArgs)

Raises the AllowNavigationChanged event.

OnAutoSizeChanged(EventArgs)

Raises the AutoSizeChanged event.

(Inherited from Control)
OnBackButtonClicked(Object, EventArgs)

Listens for the caption's back button clicked event.

OnBackColorChanged(EventArgs)

Raises the BackColorChanged event.

OnBackgroundColorChanged(EventArgs)

Raises the BackgroundColorChanged event.

OnBackgroundImageChanged(EventArgs)

Raises the BackgroundImageChanged event.

(Inherited from Control)
OnBackgroundImageLayoutChanged(EventArgs)

Raises the BackgroundImageLayoutChanged event.

(Inherited from Control)
OnBindingContextChanged(EventArgs)

Raises the BindingContextChanged event.

OnBorderStyleChanged(EventArgs)

Raises the BorderStyleChanged event.

OnCaptionVisibleChanged(EventArgs)

Raises the CaptionVisibleChanged event.

OnCausesValidationChanged(EventArgs)

Raises the CausesValidationChanged event.

(Inherited from Control)
OnChangeUICues(UICuesEventArgs)

Raises the ChangeUICues event.

(Inherited from Control)
OnClick(EventArgs)

Raises the Click event.

(Inherited from Control)
OnClientSizeChanged(EventArgs)

Raises the ClientSizeChanged event.

(Inherited from Control)
OnContextMenuChanged(EventArgs)

Raises the ContextMenuChanged event.

(Inherited from Control)
OnContextMenuStripChanged(EventArgs)

Raises the ContextMenuStripChanged event.

(Inherited from Control)
OnControlAdded(ControlEventArgs)

Raises the ControlAdded event.

(Inherited from Control)
OnControlRemoved(ControlEventArgs)

Raises the ControlRemoved event.

(Inherited from Control)
OnCreateControl()

Raises the CreateControl() method.

(Inherited from Control)
OnCurrentCellChanged(EventArgs)

Raises the CurrentCellChanged event.

OnCursorChanged(EventArgs)

Raises the CursorChanged event.

(Inherited from Control)
OnDataContextChanged(EventArgs) (Inherited from Control)
OnDataSourceChanged(EventArgs)

Raises the DataSourceChanged event.

OnDockChanged(EventArgs)

Raises the DockChanged event.

(Inherited from Control)
OnDoubleClick(EventArgs)

Raises the DoubleClick event.

(Inherited from Control)
OnDpiChangedAfterParent(EventArgs)

Raises the DpiChangedAfterParent event.

(Inherited from Control)
OnDpiChangedBeforeParent(EventArgs)

Raises the DpiChangedBeforeParent event.

(Inherited from Control)
OnDragDrop(DragEventArgs)

Raises the DragDrop event.

(Inherited from Control)
OnDragEnter(DragEventArgs)

Raises the DragEnter event.

(Inherited from Control)
OnDragLeave(EventArgs)

Raises the DragLeave event.

(Inherited from Control)
OnDragOver(DragEventArgs)

Raises the DragOver event.

(Inherited from Control)
OnEnabledChanged(EventArgs)

Raises the EnabledChanged event.

(Inherited from Control)
OnEnter(EventArgs)

Raises the Enter event.

OnFlatModeChanged(EventArgs)

Raises the FlatModeChanged event.

OnFontChanged(EventArgs)

Raises the FontChanged event.

OnForeColorChanged(EventArgs)

Raises the ForeColorChanged event.

OnGiveFeedback(GiveFeedbackEventArgs)

Raises the GiveFeedback event.

(Inherited from Control)
OnGotFocus(EventArgs)

Raises the GotFocus event.

(Inherited from Control)
OnHandleCreated(EventArgs)

Raises the CreateHandle() event.

OnHandleDestroyed(EventArgs)

Raises the DestroyHandle() event.

OnHelpRequested(HelpEventArgs)

Raises the HelpRequested event.

(Inherited from Control)
OnImeModeChanged(EventArgs)

Raises the ImeModeChanged event.

(Inherited from Control)
OnInvalidated(InvalidateEventArgs)

Raises the Invalidated event.

(Inherited from Control)
OnKeyDown(KeyEventArgs)

Raises the KeyDown event.

OnKeyPress(KeyPressEventArgs)

Raises the KeyPress event.

OnKeyUp(KeyEventArgs)

Raises the KeyUp event.

(Inherited from Control)
OnLayout(LayoutEventArgs)

Raises the Layout event, which repositions controls and updates scroll bars.

OnLeave(EventArgs)

Raises the Leave event.

OnLocationChanged(EventArgs)

Raises the LocationChanged event.

(Inherited from Control)
OnLostFocus(EventArgs)

Raises the LostFocus event.

(Inherited from Control)
OnMarginChanged(EventArgs)

Raises the MarginChanged event.

(Inherited from Control)
OnMouseCaptureChanged(EventArgs)

Raises the MouseCaptureChanged event.

(Inherited from Control)
OnMouseClick(MouseEventArgs)

Raises the MouseClick event.

(Inherited from Control)
OnMouseDoubleClick(MouseEventArgs)

Raises the MouseDoubleClick event.

(Inherited from Control)
OnMouseDown(MouseEventArgs)

Raises the MouseDown event.

OnMouseEnter(EventArgs)

Raises the MouseEnter event.

(Inherited from Control)
OnMouseHover(EventArgs)

Raises the MouseHover event.

(Inherited from Control)
OnMouseLeave(EventArgs)

Creates the MouseLeave event.

OnMouseMove(MouseEventArgs)

Raises the MouseMove event.

OnMouseUp(MouseEventArgs)

Raises the MouseUp event.

OnMouseWheel(MouseEventArgs)

Raises the MouseWheel event.

OnMove(EventArgs)

Raises the Move event.

(Inherited from Control)
OnNavigate(NavigateEventArgs)

Raises the Navigate event.

OnNotifyMessage(Message)

Notifies the control of Windows messages.

(Inherited from Control)
OnPaddingChanged(EventArgs)

Raises the PaddingChanged event.

(Inherited from Control)
OnPaint(PaintEventArgs)

Raises the Paint event.

OnPaintBackground(PaintEventArgs)

Overrides OnPaintBackground(PaintEventArgs) to prevent painting the background of the DataGrid control.

OnParentBackColorChanged(EventArgs)

Raises the BackColorChanged event when the BackColor property value of the control's container changes.

(Inherited from Control)
OnParentBackgroundImageChanged(EventArgs)

Raises the BackgroundImageChanged event when the BackgroundImage property value of the control's container changes.

(Inherited from Control)
OnParentBindingContextChanged(EventArgs)

Raises the BindingContextChanged event when the BindingContext property value of the control's container changes.

(Inherited from Control)
OnParentChanged(EventArgs)

Raises the ParentChanged event.

(Inherited from Control)
OnParentCursorChanged(EventArgs)

Raises the CursorChanged event.

(Inherited from Control)
OnParentDataContextChanged(EventArgs) (Inherited from Control)
OnParentEnabledChanged(EventArgs)

Raises the EnabledChanged event when the Enabled property value of the control's container changes.

(Inherited from Control)
OnParentFontChanged(EventArgs)

Raises the FontChanged event when the Font property value of the control's container changes.

(Inherited from Control)
OnParentForeColorChanged(EventArgs)

Raises the ForeColorChanged event when the ForeColor property value of the control's container changes.

(Inherited from Control)
OnParentRightToLeftChanged(EventArgs)

Raises the RightToLeftChanged event when the RightToLeft property value of the control's container changes.

(Inherited from Control)
OnParentRowsLabelStyleChanged(EventArgs)

Raises the ParentRowsLabelStyleChanged event.

OnParentRowsVisibleChanged(EventArgs)

Raises the ParentRowsVisibleChanged event.

OnParentVisibleChanged(EventArgs)

Raises the VisibleChanged event when the Visible property value of the control's container changes.

(Inherited from Control)
OnPreviewKeyDown(PreviewKeyDownEventArgs)

Raises the PreviewKeyDown event.

(Inherited from Control)
OnPrint(PaintEventArgs)

Raises the Paint event.

(Inherited from Control)
OnQueryContinueDrag(QueryContinueDragEventArgs)

Raises the QueryContinueDrag event.

(Inherited from Control)
OnReadOnlyChanged(EventArgs)

Raises the ReadOnlyChanged event.

OnRegionChanged(EventArgs)

Raises the RegionChanged event.

(Inherited from Control)
OnResize(EventArgs)

Raises the Resize event.

OnRightToLeftChanged(EventArgs)

Raises the RightToLeftChanged event.

(Inherited from Control)
OnRowHeaderClick(EventArgs)

Raises the RowHeaderClick event.

OnScroll(EventArgs)

Raises the Scroll event.

OnShowParentDetailsButtonClicked(Object, EventArgs)

Raises the ShowParentDetailsButtonClick event.

OnSizeChanged(EventArgs)

Raises the SizeChanged event.

(Inherited from Control)
OnStyleChanged(EventArgs)

Raises the StyleChanged event.

(Inherited from Control)
OnSystemColorsChanged(EventArgs)

Raises the SystemColorsChanged event.

(Inherited from Control)
OnTabIndexChanged(EventArgs)

Raises the TabIndexChanged event.

(Inherited from Control)
OnTabStopChanged(EventArgs)

Raises the TabStopChanged event.

(Inherited from Control)
OnTextChanged(EventArgs)

Raises the TextChanged event.

(Inherited from Control)
OnValidated(EventArgs)

Raises the Validated event.

(Inherited from Control)
OnValidating(CancelEventArgs)

Raises the Validating event.

(Inherited from Control)
OnVisibleChanged(EventArgs)

Raises the VisibleChanged event.

(Inherited from Control)
PerformLayout()

Forces the control to apply layout logic to all its child controls.

(Inherited from Control)
PerformLayout(Control, String)

Forces the control to apply layout logic to all its child controls.

(Inherited from Control)
PointToClient(Point)

Computes the location of the specified screen point into client coordinates.

(Inherited from Control)
PointToScreen(Point)

Computes the location of the specified client point into screen coordinates.

(Inherited from Control)
PreProcessControlMessage(Message)

Preprocesses keyboard or input messages within the message loop before they are dispatched.

(Inherited from Control)
PreProcessMessage(Message)

Preprocesses keyboard or input messages within the message loop before they are dispatched.

(Inherited from Control)
ProcessCmdKey(Message, Keys)

Processes a command key.

(Inherited from Control)
ProcessDialogChar(Char)

Processes a dialog character.

(Inherited from Control)
ProcessDialogKey(Keys)

Gets or sets a value that indicates whether a key should be processed further.

ProcessGridKey(KeyEventArgs)

Processes keys for grid navigation.

ProcessKeyEventArgs(Message)

Processes a key message and generates the appropriate control events.

(Inherited from Control)
ProcessKeyMessage(Message)

Processes a keyboard message.

(Inherited from Control)
ProcessKeyPreview(Message)

Previews a keyboard message and returns a value indicating if the key was consumed.

ProcessMnemonic(Char)

Processes a mnemonic character.

(Inherited from Control)
ProcessTabKey(Keys)

Gets a value indicating whether the Tab key should be processed.

RaiseDragEvent(Object, DragEventArgs)

Raises the appropriate drag event.

(Inherited from Control)
RaiseKeyEvent(Object, KeyEventArgs)

Raises the appropriate key event.

(Inherited from Control)
RaiseMouseEvent(Object, MouseEventArgs)

Raises the appropriate mouse event.

(Inherited from Control)
RaisePaintEvent(Object, PaintEventArgs)

Raises the appropriate paint event.

(Inherited from Control)
RecreateHandle()

Forces the re-creation of the handle for the control.

(Inherited from Control)
RectangleToClient(Rectangle)

Computes the size and location of the specified screen rectangle in client coordinates.

(Inherited from Control)
RectangleToScreen(Rectangle)

Computes the size and location of the specified client rectangle in screen coordinates.

(Inherited from Control)
Refresh()

Forces the control to invalidate its client area and immediately redraw itself and any child controls.

(Inherited from Control)
RescaleConstantsForDpi(Int32, Int32)

Provides constants for rescaling the control when a DPI change occurs.

(Inherited from Control)
ResetAlternatingBackColor()

Resets the AlternatingBackColor property to its default color.

ResetBackColor()

Resets the BackColor property to its default value.

ResetBindings()

Causes a control bound to the BindingSource to reread all the items in the list and refresh their displayed values.

(Inherited from Control)
ResetCursor()

Resets the Cursor property to its default value.

(Inherited from Control)
ResetFont()

Resets the Font property to its default value.

(Inherited from Control)
ResetForeColor()

Resets the ForeColor property to its default value.

ResetGridLineColor()

Resets the GridLineColor property to its default value.

ResetHeaderBackColor()

Resets the HeaderBackColor property to its default value.

ResetHeaderFont()

Resets the HeaderFont property to its default value.

ResetHeaderForeColor()

Resets the HeaderForeColor property to its default value.

ResetImeMode()

Resets the ImeMode property to its default value.

(Inherited from Control)
ResetLinkColor()

Resets the LinkColor property to its default value.

ResetLinkHoverColor()

Resets the LinkHoverColor property to its default value.

ResetMouseEventArgs()

Resets the control to handle the MouseLeave event.

(Inherited from Control)
ResetRightToLeft()

Resets the RightToLeft property to its default value.

(Inherited from Control)
ResetSelection()

Turns off selection for all rows that are selected.

ResetSelectionBackColor()

Resets the SelectionBackColor property to its default value.

ResetSelectionForeColor()

Resets the SelectionForeColor property to its default value.

ResetText()

Resets the Text property to its default value (Empty).

(Inherited from Control)
ResumeLayout()

Resumes usual layout logic.

(Inherited from Control)
ResumeLayout(Boolean)

Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests.

(Inherited from Control)
RtlTranslateAlignment(ContentAlignment)

Converts the specified ContentAlignment to the appropriate ContentAlignment to support right-to-left text.

(Inherited from Control)
RtlTranslateAlignment(HorizontalAlignment)

Converts the specified HorizontalAlignment to the appropriate HorizontalAlignment to support right-to-left text.

(Inherited from Control)
RtlTranslateAlignment(LeftRightAlignment)

Converts the specified LeftRightAlignment to the appropriate LeftRightAlignment to support right-to-left text.

(Inherited from Control)
RtlTranslateContent(ContentAlignment)

Converts the specified ContentAlignment to the appropriate ContentAlignment to support right-to-left text.

(Inherited from Control)
RtlTranslateHorizontal(HorizontalAlignment)

Converts the specified HorizontalAlignment to the appropriate HorizontalAlignment to support right-to-left text.

(Inherited from Control)
RtlTranslateLeftRight(LeftRightAlignment)

Converts the specified LeftRightAlignment to the appropriate LeftRightAlignment to support right-to-left text.

(Inherited from Control)
Scale(Single, Single)
Obsolete.
Obsolete.

Scales the entire control and any child controls.

(Inherited from Control)
Scale(Single)
Obsolete.
Obsolete.

Scales the control and any child controls.

(Inherited from Control)
Scale(SizeF)

Scales the control and all child controls by the specified scaling factor.

(Inherited from Control)
ScaleBitmapLogicalToDevice(Bitmap)

Scales a logical bitmap value to it's equivalent device unit value when a DPI change occurs.

(Inherited from Control)
ScaleControl(SizeF, BoundsSpecified)

Scales a control's location, size, padding and margin.

(Inherited from Control)
ScaleCore(Single, Single)

This method is not relevant for this class.

(Inherited from Control)
Select()

Activates the control.

(Inherited from Control)
Select(Boolean, Boolean)

Activates a child control. Optionally specifies the direction in the tab order to select the control from.

(Inherited from Control)
Select(Int32)

Selects a specified row.

SelectNextControl(Control, Boolean, Boolean, Boolean, Boolean)

Activates the next control.

(Inherited from Control)
SendToBack()

Sends the control to the back of the z-order.

(Inherited from Control)
SetAutoSizeMode(AutoSizeMode)

Sets a value indicating how a control will behave when its AutoSize property is enabled.

(Inherited from Control)
SetBounds(Int32, Int32, Int32, Int32, BoundsSpecified)

Sets the specified bounds of the control to the specified location and size.

(Inherited from Control)
SetBounds(Int32, Int32, Int32, Int32)

Sets the bounds of the control to the specified location and size.

(Inherited from Control)
SetBoundsCore(Int32, Int32, Int32, Int32, BoundsSpecified)

Performs the work of setting the specified bounds of this control.

(Inherited from Control)
SetClientSizeCore(Int32, Int32)

Sets the size of the client area of the control.

(Inherited from Control)
SetDataBinding(Object, String)

Sets the DataSource and DataMember properties at run time.

SetStyle(ControlStyles, Boolean)

Sets a specified ControlStyles flag to either true or false.

(Inherited from Control)
SetTopLevel(Boolean)

Sets the control as the top-level control.

(Inherited from Control)
SetVisibleCore(Boolean)

Sets the control to the specified visible state.

(Inherited from Control)
ShouldSerializeAlternatingBackColor()

Indicates whether the AlternatingBackColor property should be persisted.

ShouldSerializeBackgroundColor()

Indicates whether the BackgroundColor property should be persisted.

ShouldSerializeCaptionBackColor()

Gets a value indicating whether the CaptionBackColor property should be persisted.

ShouldSerializeCaptionForeColor()

Gets a value indicating whether the CaptionForeColor property should be persisted.

ShouldSerializeGridLineColor()

Indicates whether the GridLineColor property should be persisted.

ShouldSerializeHeaderBackColor()

Indicates whether the HeaderBackColor property should be persisted.

ShouldSerializeHeaderFont()

Indicates whether the HeaderFont property should be persisted.

ShouldSerializeHeaderForeColor()

Indicates whether the HeaderForeColor property should be persisted.

ShouldSerializeLinkHoverColor()

Indicates whether the LinkHoverColor property should be persisted.

ShouldSerializeParentRowsBackColor()

Indicates whether the ParentRowsBackColor property should be persisted.

ShouldSerializeParentRowsForeColor()

Indicates whether the ParentRowsForeColor property should be persisted.

ShouldSerializePreferredRowHeight()

Indicates whether the PreferredRowHeight property should be persisted.

ShouldSerializeSelectionBackColor()

Indicates whether the SelectionBackColor property should be persisted.

ShouldSerializeSelectionForeColor()

Indicates whether the SelectionForeColor property should be persisted.

Show()

Displays the control to the user.

(Inherited from Control)
SizeFromClientSize(Size)

Determines the size of the entire control from the height and width of its client area.

(Inherited from Control)
SubObjectsSiteChange(Boolean)

Adds or removes the DataGridTableStyle objects from the container that is associated with the DataGrid.

SuspendLayout()

Temporarily suspends the layout logic for the control.

(Inherited from Control)
ToString()

Returns a String containing the name of the Component, if any. This method should not be overridden.

(Inherited from Component)
UnSelect(Int32)

Unselects a specified row.

Update()

Causes the control to redraw the invalidated regions within its client area.

(Inherited from Control)
UpdateBounds()

Updates the bounds of the control with the current size and location.

(Inherited from Control)
UpdateBounds(Int32, Int32, Int32, Int32, Int32, Int32)

Updates the bounds of the control with the specified size, location, and client size.

(Inherited from Control)
UpdateBounds(Int32, Int32, Int32, Int32)

Updates the bounds of the control with the specified size and location.

(Inherited from Control)
UpdateStyles()

Forces the assigned styles to be reapplied to the control.

(Inherited from Control)
UpdateZOrder()

Updates the control in its parent's z-order.

(Inherited from Control)
WndProc(Message)

Processes Windows messages.

(Inherited from Control)

Events

AllowNavigationChanged

Occurs when the AllowNavigation property has changed.

AutoSizeChanged

This event is not relevant for this class.

(Inherited from Control)
BackButtonClick

Occurs when the Back button on a child table is clicked.

BackColorChanged

Occurs when the value of the BackColor property changes.

(Inherited from Control)
BackgroundColorChanged

Occurs when the BackgroundColor has changed.

BackgroundImageChanged

Occurs when the value of the BackgroundImage property changes.

BackgroundImageLayoutChanged

Occurs when the value of the BackgroundImageLayout property changes.

BackgroundImageLayoutChanged

Occurs when the BackgroundImageLayout property changes.

(Inherited from Control)
BindingContextChanged

Occurs when the value of the BindingContext property changes.

(Inherited from Control)
BorderStyleChanged

Occurs when the BorderStyle has changed.

CaptionVisibleChanged

Occurs when the CaptionVisible property has changed.

CausesValidationChanged

Occurs when the value of the CausesValidation property changes.

(Inherited from Control)
ChangeUICues

Occurs when the focus or keyboard user interface (UI) cues change.

(Inherited from Control)
Click

Occurs when the control is clicked.

(Inherited from Control)
ClientSizeChanged

Occurs when the value of the ClientSize property changes.

(Inherited from Control)
ContextMenuChanged

Occurs when the value of the ContextMenu property changes.

(Inherited from Control)
ContextMenuStripChanged

Occurs when the value of the ContextMenuStrip property changes.

(Inherited from Control)
ControlAdded

Occurs when a new control is added to the Control.ControlCollection.

(Inherited from Control)
ControlRemoved

Occurs when a control is removed from the Control.ControlCollection.

(Inherited from Control)
CurrentCellChanged

Occurs when the CurrentCell property has changed.

CursorChanged

Occurs when the value of the Cursor property changes.

DataContextChanged

Occurs when the value of the DataContext property changes.

(Inherited from Control)
DataSourceChanged

Occurs when the DataSource property value has changed.

Disposed

Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)
DockChanged

Occurs when the value of the Dock property changes.

(Inherited from Control)
DoubleClick

Occurs when the control is double-clicked.

(Inherited from Control)
DpiChangedAfterParent

Occurs when the DPI setting for a control is changed programmatically after the DPI of its parent control or form has changed.

(Inherited from Control)
DpiChangedBeforeParent

Occurs when the DPI setting for a control is changed programmatically before a DPI change event for its parent control or form has occurred.

(Inherited from Control)
DragDrop

Occurs when a drag-and-drop operation is completed.

(Inherited from Control)
DragEnter

Occurs when an object is dragged into the control's bounds.

(Inherited from Control)
DragLeave

Occurs when an object is dragged out of the control's bounds.

(Inherited from Control)
DragOver

Occurs when an object is dragged over the control's bounds.

(Inherited from Control)
EnabledChanged

Occurs when the Enabled property value has changed.

(Inherited from Control)
Enter

Occurs when the control is entered.

(Inherited from Control)
FlatModeChanged

Occurs when the FlatMode has changed.

FontChanged

Occurs when the Font property value changes.

(Inherited from Control)
ForeColorChanged

Occurs when the ForeColor property value changes.

(Inherited from Control)
GiveFeedback

Occurs during a drag operation.

(Inherited from Control)
GotFocus

Occurs when the control receives focus.

(Inherited from Control)
HandleCreated

Occurs when a handle is created for the control.

(Inherited from Control)
HandleDestroyed

Occurs when the control's handle is in the process of being destroyed.

(Inherited from Control)
HelpRequested

Occurs when the user requests help for a control.

(Inherited from Control)
ImeModeChanged

Occurs when the ImeMode property has changed.

(Inherited from Control)
Invalidated

Occurs when a control's display requires redrawing.

(Inherited from Control)
KeyDown

Occurs when a key is pressed while the control has focus.

(Inherited from Control)
KeyPress

Occurs when a character, space, or backspace key is pressed while the control has focus.

(Inherited from Control)
KeyUp

Occurs when a key is released while the control has focus.

(Inherited from Control)
Layout

Occurs when a control should reposition its child controls.

(Inherited from Control)
Leave

Occurs when the input focus leaves the control.

(Inherited from Control)
LocationChanged

Occurs when the Location property value has changed.

(Inherited from Control)
LostFocus

Occurs when the control loses focus.

(Inherited from Control)
MarginChanged

Occurs when the control's margin changes.

(Inherited from Control)
MouseCaptureChanged

Occurs when the control loses mouse capture.

(Inherited from Control)
MouseClick

Occurs when the control is clicked by the mouse.

(Inherited from Control)
MouseDoubleClick

Occurs when the control is double clicked by the mouse.

(Inherited from Control)
MouseDown

Occurs when the mouse pointer is over the control and a mouse button is pressed.

(Inherited from Control)
MouseEnter

Occurs when the mouse pointer enters the control.

(Inherited from Control)
MouseHover

Occurs when the mouse pointer rests on the control.

(Inherited from Control)
MouseLeave

Occurs when the mouse pointer leaves the control.

(Inherited from Control)
MouseMove

Occurs when the mouse pointer is moved over the control.

(Inherited from Control)
MouseUp

Occurs when the mouse pointer is over the control and a mouse button is released.

(Inherited from Control)
MouseWheel

Occurs when the mouse wheel moves while the control has focus.

(Inherited from Control)
Move

Occurs when the control is moved.

(Inherited from Control)
Navigate

Occurs when the user navigates to a new table.

PaddingChanged

Occurs when the control's padding changes.

(Inherited from Control)
Paint

Occurs when the control is redrawn.

(Inherited from Control)
ParentChanged

Occurs when the Parent property value changes.

(Inherited from Control)
ParentRowsLabelStyleChanged

Occurs when the label style of the parent row is changed.

ParentRowsVisibleChanged

Occurs when the ParentRowsVisible property value changes.

PreviewKeyDown

Occurs before the KeyDown event when a key is pressed while focus is on this control.

(Inherited from Control)
QueryAccessibilityHelp

Occurs when AccessibleObject is providing help to accessibility applications.

(Inherited from Control)
QueryContinueDrag

Occurs during a drag-and-drop operation and enables the drag source to determine whether the drag-and-drop operation should be canceled.

(Inherited from Control)
ReadOnlyChanged

Occurs when the ReadOnly property value changes.

RegionChanged

Occurs when the value of the Region property changes.

(Inherited from Control)
Resize

Occurs when the control is resized.

(Inherited from Control)
RightToLeftChanged

Occurs when the RightToLeft property value changes.

(Inherited from Control)
RowHeaderClick

Occurs when a row header is clicked.

Scroll

Occurs when the user scrolls the DataGrid control.

ShowParentDetailsButtonClick

Occurs when the ShowParentDetails button is clicked.

SizeChanged

Occurs when the Size property value changes.

(Inherited from Control)
StyleChanged

Occurs when the control style changes.

(Inherited from Control)
SystemColorsChanged

Occurs when the system colors change.

(Inherited from Control)
TabIndexChanged

Occurs when the TabIndex property value changes.

(Inherited from Control)
TabStopChanged

Occurs when the TabStop property value changes.

(Inherited from Control)
TextChanged

Occurs when the value of the Text property changes.

Validated

Occurs when the control is finished validating.

(Inherited from Control)
Validating

Occurs when the control is validating.

(Inherited from Control)
VisibleChanged

Occurs when the Visible property value changes.

(Inherited from Control)

Explicit Interface Implementations

IDropTarget.OnDragDrop(DragEventArgs)

Raises the DragDrop event.

(Inherited from Control)
IDropTarget.OnDragEnter(DragEventArgs)

Raises the DragEnter event.

(Inherited from Control)
IDropTarget.OnDragLeave(EventArgs)

Raises the DragLeave event.

(Inherited from Control)
IDropTarget.OnDragOver(DragEventArgs)

Raises the DragOver event.

(Inherited from Control)

Applies to

See also