DataGrid 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
스크롤 가능한 표에 ADO.NET 데이터를 표시합니다.
이 클래스는 .NET Core 3.1 이상 버전에서는 사용할 수 없습니다. 대신 컨트롤을 DataGridView 사용하여 컨트롤을 바꾸고 확장합니다 DataGrid .
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
- 상속
- 특성
- 구현
예제
다음 코드 예제에서는 두 개의 개체를 포함하는 Windows 폼 DataSet 과 두 DataTable 테이블과 DataRelation 관련된 을 만듭니다. 데이터를 표시하기 위해 컨트롤은 메서드를 System.Windows.Forms.DataGrid 통해 SetDataBinding 에 DataSet 바인딩됩니다. 폼의 단추는 두 개의 DataGridTableStyle 개체를 만들고 각 개체의 를 개체 중 하나의 로 TableName 설정 MappingName 하여 그리드의 DataTable 모양을 변경합니다. 또한 이 예제에는 메서드를 MouseUp 사용하여 HitTest 클릭한 눈금의 열, 행 및 일부를 인쇄하는 이벤트에 코드가 포함되어 있습니다.
#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
설명
이 클래스는 .NET Core 3.1 이상 버전에서는 사용할 수 없습니다. 대신 컨트롤을 DataGridView 사용합니다.
는 System.Windows.Forms.DataGrid 자식 테이블에 대한 웹과 유사한 링크를 표시합니다. 링크를 클릭하여 자식 테이블로 이동할 수 있습니다. 자식 테이블이 표시되면 부모 테이블로 다시 이동하려면 클릭할 수 있는 뒤로 단추가 캡션 나타납니다. 부모 행의 데이터는 캡션 아래와 열 머리글 위에 표시됩니다. 뒤로 단추 오른쪽에 있는 단추를 클릭하여 부모 행 정보를 숨길 수 있습니다.
런타임에 에 System.Windows.Forms.DataGrid 테이블을 표시하려면 메서드를 SetDataBinding 사용하여 및 DataMember 속성을 유효한 데이터 원본으로 설정합니다DataSource. 다음과 같은 데이터 원본이 유효합니다.
단일 차원 배열
인터페이스를 구현하는 IListSource 모든 구성 요소
인터페이스를 구현하는 IList 모든 구성 요소
DataSet 클래스에 대한 자세한 내용은 Datasets, DataTables 및 DataViews를 참조하세요.
사용자가 데이터를 편집할 수 있지만 를 데이터 원본으로 사용하고 DataView 속성을 false
로 설정하여 새 행을 추가하지 못하게 하는 그리드를 AllowNew 만들 수 있습니다.
데이터 원본은 개체에 의해 BindingManagerBase 추가로 관리됩니다. 데이터 원본의 각 테이블에 대해 양식의 BindingContext에서 를 BindingManagerBase 반환할 수 있습니다. 예를 들어 연결된 BindingManagerBase 개체 Count 의 속성을 반환하여 데이터 원본에 포함된 행 수를 확인할 수 있습니다.
데이터의 유효성을 검사하려면 데이터 및 해당 이벤트를 나타내는 기본 개체를 사용합니다. 예를 들어 데이터가 의 에서 DataTableDataSet가져온 경우 및 RowChanging 이벤트를 사용합니다ColumnChanging.
참고
의 멤버GridColumnStylesCollection를 추가하거나 삭제하여 열 수를 사용자 지정할 수 있고 행을 열 RowNumber 별로 정렬할 수 있으므로 및 속성 값이 의 및 ColumnNumberDataColumn 인덱스에 DataTable해당 DataRow 하도록 보장할 수 없습니다. 따라서 데이터의 유효성을 검사하기 위해 이벤트에서 이러한 속성을 Validating 사용하지 않아야 합니다.
선택한 셀을 확인하려면 속성을 사용합니다 CurrentCell . 셀의 행 및 열 인덱스 또는 단일 DataGridCell를 사용할 수 있는 속성을 사용하여 Item[] 셀의 값을 변경합니다. CurrentCellChanged 이벤트를 모니터링하여 사용자가 다른 셀을 선택하는 시기를 감지합니다.
사용자가 클릭한 컨트롤의 일부를 확인하려면 이벤트에서 메서드를 MouseDown 사용합니다HitTest. 메서드는 HitTest 클릭된 DataGrid.HitTestInfo 영역의 행과 열을 포함하는 개체를 반환합니다.
런타임에 컨트롤의 모양을 관리하기 위해 색 및 캡션 특성을 설정하기 위한 여러 속성을 사용할 수 있습니다(예: CaptionForeColor, , CaptionBackColorCaptionFont등).
표시된 그리드(또는 그리드)의 모양은 개체를 만들고 DataGridTableStyle 속성을 통해 TableStyles 액세스되는 에 추가하여 GridTableStylesCollection추가로 수정할 수 있습니다. 예를 들어 가 3개의 DataTable 개체를 포함하는 으로 DataSet 설정된 경우 DataSource 컬렉션에 각 테이블에 하나씩 세 DataGridTableStyle 개의 개체를 추가할 수 있습니다. 각 DataGridTableStyle 개체를 DataTable와 동기화하려면 의 를 MappingName 의 DataGridTableStyleDataTable로 TableName 설정합니다. 개체 배열에 바인딩하는 방법에 대한 자세한 내용은 속성을 참조 DataGridTableStyle.MappingName 하세요.
테이블의 사용자 지정된 뷰를 만들려면 또는 클래스의 DataGridTextBoxColumn instance 만들고 속성을 통해 액세스된 에 GridTableStylesCollection 개체를 TableStyles 추가 DataGridBoolColumn 합니다. 두 클래스 모두 에서 DataGridColumnStyle상속됩니다. 각 열 스타일에 대해 를 표에 표시할 열의 로 설정합니다 MappingNameColumnName . 열을 숨기려면 해당 열을 유효한 ColumnName가 아닌 다른 항목으로 설정합니다MappingName.
열의 텍스트 서식을 지정하려면 의 DataGridTextBoxColumn 속성을 형식 서식 지정 및 사용자 지정 날짜 및 시간 형식 문자열에 있는 값 중 하나로 설정합니다Format.
를 DataGrid 강력한 형식의 개체 배열에 바인딩하려면 개체 형식에 공용 속성이 포함되어야 합니다. 배열을 표시하는 을 DataGridTableStyle 만들려면 속성을 typename[]
로 설정합니다DataGridTableStyle.MappingName. 여기서 typename
은 개체 형식의 이름으로 바뀝니다. 또한 속성은 MappingName 대/소문자를 구분합니다. 형식 이름은 정확히 일치해야 합니다. 예제는 MappingName 속성을 참조하세요.
를 에 바인딩 DataGrid 할 ArrayList수도 있습니다. 의 ArrayList 기능은 여러 형식의 개체를 포함할 수 있지만 DataGrid 목록의 모든 항목이 첫 번째 항목과 동일한 형식인 경우에만 이 목록에 바인딩할 수 있다는 것입니다. 즉, 모든 개체는 동일한 형식이거나 목록의 첫 번째 항목과 동일한 클래스에서 상속되어야 합니다. 예를 들어 목록의 첫 번째 항목이 인 경우 두 번째 항목은 Control(에서 Control상속되는)일 수 TextBox 있습니다. 반면에 첫 번째 항목이 이면 두 번째 개체는 TextBox가 될 Control수 없습니다. 또한 에는 ArrayList 바인딩된 항목이 있어야 합니다. 비어 ArrayList 있는 경우 빈 그리드가 생성됩니다. 또한 의 개체에는 공용 속성이 ArrayList 포함되어야 합니다. 에 ArrayList바인딩할 때 의 를 MappingNameDataGridTableStyle "ArrayList"(형식 이름)로 설정합니다.
각 DataGridTableStyle에 대해 컨트롤에 대한 System.Windows.Forms.DataGrid 설정을 재정의하는 색 및 캡션 특성을 설정할 수 있습니다. 그러나 이러한 속성이 설정되지 않은 경우 컨트롤에 대한 설정이 기본적으로 사용됩니다. 속성으로 다음 속성을 재정의 DataGridTableStyle 할 수 있습니다.
개별 열의 모양을 사용자 지정하려면 각 DataGridTableStyle의 속성을 통해 액세스되는 에 개체GridColumnStylesCollection를 GridColumnStyles 추가 DataGridColumnStyle 합니다. 의 와 DataColumn 각각 DataGridColumnStyle 을 동기화하려면 를 DataTable의 DataColumn로 ColumnName 설정합니다MappingName. 를 생성할 DataGridColumnStyle때 열이 데이터를 표시하는 방법을 지정하는 서식 문자열을 설정할 수도 있습니다. 예를 들어 열이 짧은 날짜 형식을 사용하여 테이블에 포함된 날짜를 표시하도록 지정할 수 있습니다.
주의
개체를 에 추가하기 전에 항상 개체GridTableStylesCollection를 GridColumnStylesCollection 만들고 DataGridColumnStyle 에 추가 DataGridTableStyle 합니다. 컬렉션 DataGridColumnStyle 에 유효한 MappingName 값이 있는 빈 DataGridTableStyle 을 추가하면 개체가 자동으로 생성됩니다. 따라서 중복 MappingName 값이 있는 새 DataGridColumnStyle 개체를 에 추가하려고 하면 예외가 GridColumnStylesCollectionthrow됩니다.
참고
DataGridView 컨트롤은 DataGrid 컨트롤을 대체하고 여기에 다른 기능을 추가하여 새로 도입된 컨트롤이지만 이전 버전과의 호환성 및 이후 사용 가능성을 고려하여 DataGrid 컨트롤을 계속 유지하도록 선택할 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤과 DataGrid 컨트롤의 차이점을 참조하세요.
생성자
DataGrid() |
DataGrid 클래스의 새 인스턴스를 초기화합니다. |
속성
AccessibilityObject |
컨트롤에 할당된 AccessibleObject를 가져옵니다. (다음에서 상속됨 Control) |
AccessibleDefaultActionDescription |
내게 필요한 옵션 지원 클라이언트 애플리케이션에서 사용되는 컨트롤의 기본 작업 설명을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AccessibleDescription |
내게 필요한 옵션 지원 클라이언트 애플리케이션에서 사용하는 컨트롤의 설명을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AccessibleName |
내게 필요한 옵션 지원 클라이언트 애플리케이션에서 사용하는 컨트롤의 이름을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AccessibleRole |
컨트롤의 액세스 가능 역할을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AllowDrop |
사용자가 컨트롤로 끌어 온 데이터가 해당 컨트롤에서 허용되는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AllowNavigation |
탐색이 허용되는지 여부를 나타내는 값을 가져오거나 설정합니다. |
AllowSorting |
열 머리글을 클릭하여 표를 다시 정렬할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. |
AlternatingBackColor |
표에 있는 홀수 번호 행의 배경색을 가져오거나 설정합니다. |
Anchor |
컨트롤이 바인딩되는 컨테이너의 가장자리를 가져오거나 설정하고 해당 부모를 기초로 컨트롤 크기를 조정하는 방법을 결정합니다. (다음에서 상속됨 Control) |
AutoScrollOffset |
ScrollControlIntoView(Control)에서 이 컨트롤이 스크롤되는 위치를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AutoSize |
이 속성은 이 클래스와 관련이 없습니다. (다음에서 상속됨 Control) |
BackColor |
표에 있는 짝수 번호 행의 배경색을 가져오거나 설정합니다. |
BackgroundColor |
표에서 행 이외의 영역 색을 가져오거나 설정합니다. |
BackgroundImage |
이 멤버는 이 컨트롤에 의미가 없습니다. |
BackgroundImageLayout |
이 멤버는 이 컨트롤에 의미가 없습니다. |
BackgroundImageLayout |
ImageLayout 열거형에서 정의된 대로 배경 이미지 레이아웃을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
BindingContext |
컨트롤의 BindingContext를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
BorderStyle |
표의 테두리 스타일을 가져오거나 설정합니다. |
Bottom |
컨트롤의 아래쪽 가장자리와 해당 컨테이너 클라이언트 영역의 위쪽 가장자리 사이의 거리(픽셀)를 가져옵니다. (다음에서 상속됨 Control) |
Bounds |
부모 컨트롤을 기준으로 비클라이언트 요소를 포함하는 컨트롤의 크기와 위치(픽셀)를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
CanEnableIme |
IME 지원을 사용하도록 ImeMode 속성을 활성 값으로 설정할 수 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
CanFocus |
컨트롤이 포커스를 받을 수 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
CanRaiseEvents |
컨트롤에서 이벤트가 발생할 수 있는지를 확인합니다. (다음에서 상속됨 Control) |
CanSelect |
컨트롤을 선택할 수 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
CaptionBackColor |
캡션 영역의 배경색을 가져오거나 설정합니다. |
CaptionFont |
표 캡션의 글꼴을 가져오거나 설정합니다. |
CaptionForeColor |
캡션 영역의 전경색을 가져오거나 설정합니다. |
CaptionText |
표 창 캡션의 텍스트를 가져오거나 설정합니다. |
CaptionVisible |
표 캡션이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. |
Capture |
컨트롤이 마우스를 캡처했는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
CausesValidation |
컨트롤이 포커스를 받을 때 유효성 검사가 필요한 모든 컨트롤에 대해 유효성 검사가 수행되도록 하는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ClientRectangle |
컨트롤의 클라이언트 영역을 나타내는 사각형을 가져옵니다. (다음에서 상속됨 Control) |
ClientSize |
컨트롤 클라이언트 영역의 높이와 너비를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ColumnHeadersVisible |
테이블의 열 머리글이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. |
CompanyName |
컨트롤을 포함하고 있는 애플리케이션의 회사 이름이나 작성자를 가져옵니다. (다음에서 상속됨 Control) |
Container |
IContainer을 포함하는 Component를 가져옵니다. (다음에서 상속됨 Component) |
ContainsFocus |
컨트롤이나 해당 컨트롤의 자식 컨트롤이 현재 입력 포커스를 가지고 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ContextMenu |
컨트롤과 연결된 바로 가기 메뉴를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ContextMenuStrip |
이 컨트롤과 연결된 ContextMenuStrip을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Controls |
컨트롤에 포함된 컨트롤의 컬렉션을 가져옵니다. (다음에서 상속됨 Control) |
Created |
컨트롤이 만들어졌는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
CreateParams |
컨트롤 핸들이 만들어지는 경우 필요한 작성 매개 변수를 가져옵니다. (다음에서 상속됨 Control) |
CurrentCell |
포커스가 있는 셀을 가져오거나 설정합니다. 디자인 타임에는 이 속성을 사용할 수 없습니다. |
CurrentRowIndex |
현재 포커스가 있는 행의 인덱스를 가져오거나 설정합니다. |
Cursor |
이 멤버는 이 컨트롤에 의미가 없습니다. |
DataBindings |
컨트롤에 대한 데이터 바인딩을 가져옵니다. (다음에서 상속됨 Control) |
DataContext |
데이터 바인딩을 위해 데이터 컨텍스트를 가져오거나 설정합니다. 앰비언트 속성입니다. (다음에서 상속됨 Control) |
DataMember |
DataSource 컨트롤이 표를 표시하는 대상 DataGrid에서 특정 목록을 가져오거나 설정합니다. |
DataSource |
표에 표시되는 데이터의 대상 데이터 소스를 가져오거나 설정합니다. |
DefaultCursor |
컨트롤의 기본 커서를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
DefaultImeMode |
컨트롤에서 지원하는 기본 IME(입력기) 모드를 가져옵니다. (다음에서 상속됨 Control) |
DefaultMargin |
컨트롤 사이에 기본적으로 지정되는 공백(픽셀)을 가져옵니다. (다음에서 상속됨 Control) |
DefaultMaximumSize |
컨트롤의 기본 최대 크기로 지정되는 길이와 높이를 픽셀 단위로 가져옵니다. (다음에서 상속됨 Control) |
DefaultMinimumSize |
컨트롤의 기본 최소 크기로 지정되는 길이와 높이를 픽셀 단위로 가져옵니다. (다음에서 상속됨 Control) |
DefaultPadding |
컨트롤 내용의 기본 내부 간격(픽셀)을 가져옵니다. (다음에서 상속됨 Control) |
DefaultSize |
컨트롤의 기본 크기를 가져옵니다. |
DesignMode |
Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
DeviceDpi |
컨트롤을 현재 표시 중인 디스플레이 디바이스의 DPI 값을 가져옵니다. (다음에서 상속됨 Control) |
DisplayRectangle |
컨트롤의 표시 영역을 나타내는 사각형을 가져옵니다. (다음에서 상속됨 Control) |
Disposing |
기본 Control 클래스에 대한 삭제 작업이 진행되고 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
Dock |
어느 컨트롤 테두리가 부모 컨트롤에 도킹되는지를 가져오거나 설정하고 해당 부모를 기초로 컨트롤 크기를 조정하는 방법을 결정합니다. (다음에서 상속됨 Control) |
DoubleBuffered |
이 컨트롤에서 깜빡임을 줄이거나 방지하기 위해 보조 버퍼를 사용하여 화면을 다시 그려야 하는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Enabled |
컨트롤이 사용자 상호 작용에 응답할 수 있는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Events |
이 Component에 연결된 이벤트 처리기의 목록을 가져옵니다. (다음에서 상속됨 Component) |
FirstVisibleColumn |
표에서 가장 먼저 표시되는 열의 인덱스를 가져옵니다. |
FlatMode |
표를 평면 모드로 표시할지 여부를 나타내는 값을 가져오거나 설정합니다. |
Focused |
컨트롤에 입력 포커스가 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
Font |
컨트롤에서 표시되는 텍스트의 글꼴을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
FontHeight |
컨트롤의 글꼴 높이를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ForeColor |
DataGrid 컨트롤의 전경색(보통 텍스트 색) 속성을 가져오거나 설정합니다. |
GridLineColor |
모눈선의 색을 가져오거나 설정합니다. |
GridLineStyle |
모눈선 스타일을 가져오거나 설정합니다. |
Handle |
컨트롤이 바인딩되는 창 핸들을 가져옵니다. (다음에서 상속됨 Control) |
HasChildren |
컨트롤에 자식 컨트롤이 하나 이상 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
HeaderBackColor |
모든 행 및 열 머리글의 배경색을 가져오거나 설정합니다. |
HeaderFont |
열 머리글에 사용되는 글꼴을 가져오거나 설정합니다. |
HeaderForeColor |
머리글의 전경색을 가져오거나 설정합니다. |
Height |
컨트롤의 높이를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
HorizScrollBar |
표의 가로 스크롤 막대를 가져옵니다. |
ImeMode |
컨트롤의 IME(입력기) 모드를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ImeModeBase |
컨트롤의 IME 모드를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
InvokeRequired |
호출자가 컨트롤이 만들어진 스레드와 다른 스레드에 있기 때문에 메서드를 통해 컨트롤을 호출하는 경우 해당 호출자가 호출 메서드를 호출해야 하는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsAccessible |
컨트롤이 내게 필요한 옵션 지원 애플리케이션에 표시되는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
IsAncestorSiteInDesignMode |
이 컨트롤의 상위 항목 중 하나가 있고 DesignMode에 해당 사이트가 있는지를 나타냅니다. 이 속성은 읽기 전용입니다. (다음에서 상속됨 Control) |
IsDisposed |
컨트롤이 삭제되었는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsHandleCreated |
컨트롤에 연결된 핸들이 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsMirrored |
컨트롤이 미러링되는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
Item[DataGridCell] |
지정된 DataGridCell의 값을 가져오거나 설정합니다. |
Item[Int32, Int32] |
지정된 행 및 열에 있는 셀의 값을 가져오거나 설정합니다. |
LayoutEngine |
컨트롤 레이아웃 엔진의 캐시된 인스턴스를 가져옵니다. (다음에서 상속됨 Control) |
Left |
컨트롤의 왼쪽 가장자리와 해당 컨테이너 클라이언트 영역의 왼쪽 가장자리 사이의 거리(픽셀)를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
LinkColor |
자식 테이블을 탐색하기 위해 클릭할 수 있는 텍스트의 색을 가져오거나 설정합니다. |
LinkHoverColor |
이 멤버는 이 컨트롤에 의미가 없습니다. |
ListManager |
이 CurrencyManager 컨트롤에 대한 DataGrid를 가져옵니다. |
Location |
해당 컨테이너의 왼쪽 위 모퉁이를 기준으로 컨트롤의 왼쪽 위 모퉁이의 좌표를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Margin |
컨트롤 사이의 공백을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
MaximumSize |
GetPreferredSize(Size)에서 지정할 수 있는 상한을 나타내는 크기를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
MinimumSize |
GetPreferredSize(Size)에서 지정할 수 있는 하한을 나타내는 크기를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Name |
컨트롤의 이름을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Padding |
컨트롤의 안쪽 여백을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Parent |
컨트롤의 부모 컨테이너를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ParentRowsBackColor |
부모 행의 배경색을 가져오거나 설정합니다. |
ParentRowsForeColor |
부모 행의 전경색을 가져오거나 설정합니다. |
ParentRowsLabelStyle |
부모 행 레이블이 표시되는 방법을 가져오거나 설정합니다. |
ParentRowsVisible |
테이블의 부모 행이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. |
PreferredColumnWidth |
표 열의 기본 너비(픽셀 단위)를 가져오거나 설정합니다. |
PreferredRowHeight |
DataGrid 컨트롤의 기본 행 높이를 가져오거나 설정합니다. |
PreferredSize |
컨트롤이 들어갈 수 있는 사각형 영역의 크기를 가져옵니다. (다음에서 상속됨 Control) |
ProductName |
컨트롤이 포함된 어셈블리의 제품 이름을 가져옵니다. (다음에서 상속됨 Control) |
ProductVersion |
컨트롤이 포함된 어셈블리의 버전을 가져옵니다. (다음에서 상속됨 Control) |
ReadOnly |
표가 읽기 전용 모드인지 여부를 나타내는 값을 가져오거나 설정합니다. |
RecreatingHandle |
컨트롤이 현재 자신의 핸들을 다시 만들고 있는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
Region |
컨트롤과 연결된 창 영역을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
RenderRightToLeft |
사용되지 않음.
사용되지 않음.
이 속성은 더 이상 사용되지 않습니다. (다음에서 상속됨 Control) |
ResizeRedraw |
크기를 조정하는 경우 컨트롤이 자신을 다시 그리는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Right |
컨트롤의 오른쪽 가장자리와 해당 컨테이너 클라이언트 영역의 왼쪽 가장자리 사이의 거리(픽셀)를 가져옵니다. (다음에서 상속됨 Control) |
RightToLeft |
오른쪽에서 왼쪽으로 쓰는 글꼴을 사용하는 로캘을 지원하도록 컨트롤 요소가 정렬되어 있는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
RowHeadersVisible |
행 머리글이 표시되는지 여부를 지정하는 값을 가져오거나 설정합니다. |
RowHeaderWidth |
행 머리글의 너비를 가져오거나 설정합니다. |
ScaleChildren |
자식 컨트롤의 배율을 결정하는 값을 가져옵니다. (다음에서 상속됨 Control) |
SelectionBackColor |
선택된 행의 배경색을 가져오거나 설정합니다. |
SelectionForeColor |
선택된 행의 전경색을 가져오거나 설정합니다. |
ShowFocusCues |
컨트롤이 포커스 영역을 표시할지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ShowKeyboardCues |
사용자 인터페이스가 키보드 액셀러레이터 키를 표시하는지 아니면 숨기는지를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
Site |
컨트롤의 사이트를 가져오거나 설정합니다. |
Size |
컨트롤의 높이와 너비를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
TabIndex |
컨트롤 컨테이너 내의 컨트롤 탭 순서를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
TableStyles |
표의 DataGridTableStyle 개체 컬렉션을 가져옵니다. |
TabStop |
Tab 키를 사용하여 이 컨트롤의 포커스를 이동할 수 있는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Tag |
컨트롤에 대한 데이터가 포함된 개체를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Text |
이 멤버는 이 컨트롤에 의미가 없습니다. |
Top |
컨트롤의 위쪽 가장자리와 해당 컨테이너 클라이언트 영역의 위쪽 가장자리 사이의 거리(픽셀)를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
TopLevelControl |
다른 Windows Forms 컨트롤에 의해 부모로 지정될 수 없는 부모 컨트롤을 가져옵니다. 일반적으로 이것은 컨트롤이 포함된 가장 바깥쪽 Form입니다. (다음에서 상속됨 Control) |
UseWaitCursor |
현재 컨트롤과 모든 자식 컨트롤에 대기 커서를 사용할지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
VertScrollBar |
컨트롤의 세로 스크롤 막대를 가져옵니다. |
Visible |
컨트롤과 모든 해당 자식 컨트롤이 표시되는지를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
VisibleColumnCount |
표시되는 열의 수를 가져옵니다. |
VisibleRowCount |
표시되는 행의 수를 가져옵니다. |
Width |
컨트롤의 너비를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
WindowTarget |
이 속성은 이 클래스와 관련이 없습니다. (다음에서 상속됨 Control) |
메서드
이벤트
AllowNavigationChanged |
AllowNavigation 속성이 변경되면 발생합니다. |
AutoSizeChanged |
이 이벤트는 이 클래스와 관련이 없습니다. (다음에서 상속됨 Control) |
BackButtonClick |
자식 테이블의 |
BackColorChanged |
BackColor 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
BackgroundColorChanged |
BackgroundColor가 변경될 때 발생합니다. |
BackgroundImageChanged |
BackgroundImage 속성 값이 변경되면 발생합니다. |
BackgroundImageLayoutChanged |
BackgroundImageLayout 속성 값이 변경되면 발생합니다. |
BackgroundImageLayoutChanged |
BackgroundImageLayout 속성이 변경되면 발생합니다. (다음에서 상속됨 Control) |
BindingContextChanged |
BindingContext 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
BorderStyleChanged |
BorderStyle가 변경될 때 발생합니다. |
CaptionVisibleChanged |
CaptionVisible 속성이 변경되면 발생합니다. |
CausesValidationChanged |
CausesValidation 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
ChangeUICues |
포커스 또는 키보드 UI(사용자 인터페이스) 큐가 변경될 때 발생합니다. (다음에서 상속됨 Control) |
Click |
컨트롤을 클릭하면 발생합니다. (다음에서 상속됨 Control) |
ClientSizeChanged |
ClientSize 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
ContextMenuChanged |
ContextMenu 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
ContextMenuStripChanged |
ContextMenuStrip 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
ControlAdded |
Control.ControlCollection에 새로운 컨트롤이 추가되면 발생합니다. (다음에서 상속됨 Control) |
ControlRemoved |
Control.ControlCollection에서 컨트롤이 제거되면 발생합니다. (다음에서 상속됨 Control) |
CurrentCellChanged |
CurrentCell 속성이 변경되면 발생합니다. |
CursorChanged |
Cursor 속성 값이 변경되면 발생합니다. |
DataContextChanged |
DataContext 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
DataSourceChanged |
DataSource 속성 값이 변경되면 발생합니다. |
Disposed |
Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다. (다음에서 상속됨 Component) |
DockChanged |
Dock 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
DoubleClick |
컨트롤을 두 번 클릭하면 발생합니다. (다음에서 상속됨 Control) |
DpiChangedAfterParent |
부모 컨트롤 또는 양식의 DPI가 변경된 후에 컨트롤의 DPI 설정이 프로그래밍 방식으로 변경되면 발생합니다. (다음에서 상속됨 Control) |
DpiChangedBeforeParent |
부모 컨트롤 또는 양식에 대한 DPI 변경 이벤트가 발생하기 전에 컨트롤의 DPI 설정이 프로그래밍 방식으로 변경되면 발생합니다. (다음에서 상속됨 Control) |
DragDrop |
끌어서 놓기 작업이 완료될 때 발생합니다. (다음에서 상속됨 Control) |
DragEnter |
개체를 컨트롤의 범위 안으로 끌 때 발생합니다. (다음에서 상속됨 Control) |
DragLeave |
컨트롤의 범위 밖으로 개체를 끌 때 발생합니다. (다음에서 상속됨 Control) |
DragOver |
개체를 컨트롤의 범위 위로 끌 때 발생합니다. (다음에서 상속됨 Control) |
EnabledChanged |
Enabled 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
Enter |
컨트롤이 입력되면 발생합니다. (다음에서 상속됨 Control) |
FlatModeChanged |
FlatMode가 변경될 때 발생합니다. |
FontChanged |
Font 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
ForeColorChanged |
ForeColor 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
GiveFeedback |
끌기 작업을 수행하는 동안 발생합니다. (다음에서 상속됨 Control) |
GotFocus |
컨트롤이 포커스를 받으면 발생합니다. (다음에서 상속됨 Control) |
HandleCreated |
컨트롤의 핸들을 만들면 발생합니다. (다음에서 상속됨 Control) |
HandleDestroyed |
컨트롤의 핸들이 소멸될 때 발생합니다. (다음에서 상속됨 Control) |
HelpRequested |
사용자가 컨트롤에 대한 도움말을 요청하면 발생합니다. (다음에서 상속됨 Control) |
ImeModeChanged |
ImeMode 속성이 변경되면 발생합니다. (다음에서 상속됨 Control) |
Invalidated |
컨트롤을 다시 그려야 할 때 발생합니다. (다음에서 상속됨 Control) |
KeyDown |
컨트롤에 포커스가 있을 때 키를 누르면 발생합니다. (다음에서 상속됨 Control) |
KeyPress |
컨트롤에 포커스가 있을 때 문자, 스페이스 또는 백스페이스 키를 누르면 발생합니다. (다음에서 상속됨 Control) |
KeyUp |
컨트롤에 포커스가 있을 때 키를 눌렀다 놓으면 발생합니다. (다음에서 상속됨 Control) |
Layout |
컨트롤이 자식 컨트롤의 위치를 변경하면 발생합니다. (다음에서 상속됨 Control) |
Leave |
입력 포커스가 컨트롤을 벗어나면 발생합니다. (다음에서 상속됨 Control) |
LocationChanged |
Location 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
LostFocus |
컨트롤이 포커스를 잃을 때 발생합니다. (다음에서 상속됨 Control) |
MarginChanged |
컨트롤의 여백이 변경되면 발생합니다. (다음에서 상속됨 Control) |
MouseCaptureChanged |
컨트롤이 마우스 캡처를 잃을 때 발생합니다. (다음에서 상속됨 Control) |
MouseClick |
컨트롤을 마우스로 클릭할 때 발생합니다. (다음에서 상속됨 Control) |
MouseDoubleClick |
컨트롤을 마우스로 두 번 클릭할 때 발생합니다. (다음에서 상속됨 Control) |
MouseDown |
마우스 포인터가 컨트롤 위에 있을 때 마우스 단추를 클릭하면 발생합니다. (다음에서 상속됨 Control) |
MouseEnter |
마우스 포인터가 컨트롤에 들어가면 발생합니다. (다음에서 상속됨 Control) |
MouseHover |
마우스 포인터가 컨트롤 위에 있을 때 발생합니다. (다음에서 상속됨 Control) |
MouseLeave |
마우스 포인터가 컨트롤을 벗어나면 발생합니다. (다음에서 상속됨 Control) |
MouseMove |
마우스 포인터를 컨트롤 위로 이동하면 발생합니다. (다음에서 상속됨 Control) |
MouseUp |
마우스 포인터가 컨트롤 위에 있을 때 마우스 단추를 눌렀다 놓으면 발생합니다. (다음에서 상속됨 Control) |
MouseWheel |
컨트롤에 포커스가 있을 때 마우스 휠을 움직이면 발생합니다. (다음에서 상속됨 Control) |
Move |
컨트롤이 이동하면 발생합니다. (다음에서 상속됨 Control) |
Navigate |
사용자가 새 테이블을 탐색할 때 발생합니다. |
PaddingChanged |
컨트롤의 안쪽 여백이 변경되면 발생합니다. (다음에서 상속됨 Control) |
Paint |
컨트롤을 다시 그리면 발생합니다. (다음에서 상속됨 Control) |
ParentChanged |
Parent 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
ParentRowsLabelStyleChanged |
부모 행의 레이블 스타일이 변경될 때 발생합니다. |
ParentRowsVisibleChanged |
ParentRowsVisible 속성 값이 변경되면 발생합니다. |
PreviewKeyDown |
이 컨트롤에 포커스가 있는 동안 키를 누르면 KeyDown 이벤트 전에 발생합니다. (다음에서 상속됨 Control) |
QueryAccessibilityHelp |
AccessibleObject가 내게 필요한 옵션 지원 애플리케이션에 도움말을 제공하면 발생합니다. (다음에서 상속됨 Control) |
QueryContinueDrag |
끌어서 놓기 작업 중에 발생하며 끌기 소스가 끌어서 놓기 작업을 취소해야 할지를 결정하도록 합니다. (다음에서 상속됨 Control) |
ReadOnlyChanged |
ReadOnly 속성 값이 변경되면 발생합니다. |
RegionChanged |
Region 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
Resize |
컨트롤의 크기를 조정하면 발생합니다. (다음에서 상속됨 Control) |
RightToLeftChanged |
RightToLeft 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
RowHeaderClick |
행 머리글을 클릭할 때 발생합니다. |
Scroll |
DataGrid 컨트롤을 스크롤하면 발생합니다. |
ShowParentDetailsButtonClick |
|
SizeChanged |
Size 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
StyleChanged |
컨트롤 스타일이 변경되면 발생합니다. (다음에서 상속됨 Control) |
SystemColorsChanged |
시스템 색이 변경되면 발생합니다. (다음에서 상속됨 Control) |
TabIndexChanged |
TabIndex 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
TabStopChanged |
TabStop 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
TextChanged |
Text 속성 값이 변경되면 발생합니다. |
Validated |
컨트롤의 유효성 검사가 완료되면 발생합니다. (다음에서 상속됨 Control) |
Validating |
컨트롤의 유효성을 검사할 때 발생합니다. (다음에서 상속됨 Control) |
VisibleChanged |
Visible 속성 값이 변경되면 발생합니다. (다음에서 상속됨 Control) |
명시적 인터페이스 구현
IDropTarget.OnDragDrop(DragEventArgs) |
DragDrop 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
IDropTarget.OnDragEnter(DragEventArgs) |
DragEnter 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
IDropTarget.OnDragLeave(EventArgs) |
DragLeave 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
IDropTarget.OnDragOver(DragEventArgs) |
DragOver 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
적용 대상
추가 정보
.NET