DataGridViewRow Class


DataGridView 컨트롤의 행을 나타냅니다.Represents a row in a DataGridView control.

public ref class DataGridViewRow : System::Windows::Forms::DataGridViewBand
public class DataGridViewRow : System.Windows.Forms.DataGridViewBand
type DataGridViewRow = class
    inherit DataGridViewBand
Public Class DataGridViewRow
Inherits DataGridViewBand


다음 코드 예제에서는이 형식의 사용을 보여 줍니다.The following code example illustrates the use of this type. 이 예제는 방법: DataGridView 컨트롤 Windows Forms에서 행 조작에서 사용할 수 있는 더 큰 예제의 일부입니다.This example is part of a larger example available in How to: Manipulate Rows in the Windows Forms DataGridView Control.

// Set row labels.
void Button6_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )

   int rowNumber = 1;
   System::Collections::IEnumerator^ myEnum = safe_cast<System::Collections::IEnumerable^>(dataGridView->Rows)->GetEnumerator();
   while ( myEnum->MoveNext() )
      DataGridViewRow^ row = safe_cast<DataGridViewRow^>(myEnum->Current);
      if ( row->IsNewRow )
      row->HeaderCell->Value = String::Format( L"Row {0}", rowNumber );

      rowNumber = rowNumber + 1;

   dataGridView->AutoResizeRowHeadersWidth( DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders );

// Set row labels.
private void Button6_Click(object sender, System.EventArgs e)

    int rowNumber = 1;
    foreach (DataGridViewRow row in dataGridView.Rows)
        if (row.IsNewRow) continue;
        row.HeaderCell.Value = "Row " + rowNumber;
        rowNumber = rowNumber + 1;
' Set row labels.
Private Sub Button6_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button6.Click

    Dim rowNumber As Integer = 1
    For Each row As DataGridViewRow In dataGridView.Rows
        If row.IsNewRow Then Continue For
        row.HeaderCell.Value = "Row " & rowNumber
        rowNumber = rowNumber + 1
    dataGridView.AutoResizeRowHeadersWidth( _
End Sub


합니다 DataGridViewRow 클래스의 행을 나타냅니다는 DataGridView 제어 합니다.The DataGridViewRow class represents a row in a DataGridView control. Rows를 통해 행을 검색 하 고 컨트롤의 컬렉션을 SelectedRows 수 있습니다.You can retrieve rows through the Rows and SelectedRows collections of the control.

DataGridViewColumn와 달리 DataGridViewRow는 해당 행에 있는 모든 셀의 컬렉션을 실제로 포함 합니다.Unlike a DataGridViewColumn, a DataGridViewRow physically contains a collection of all of the cells in that row. Cells 속성을 통해이 컬렉션에 액세스할 수 있습니다.You can access this collection through the Cells property.

DataGridViewRow 클래스는 개별 셀 요소에 액세스 하는 데 사용 되며 높이 및 셀 스타일과 같은 행 UI (사용자 인터페이스)의 모양과 동작을 조정 하는 데 사용 됩니다.The DataGridViewRow class is used to access the individual cell elements, as well as to adjust the appearance and behavior of the row user interface (UI), such as height and cell style. 일반적으로 컨트롤 같은 특징을 공유에 있는 대부분의 행 또는 행을 사용 합니다.Typically, you will want all rows or most rows in the control to share the same characteristics. 컨트롤의 모든 행에 대해 셀 스타일을 설정 하려면 DataGridView.RowsDefaultCellStyle 속성에서 반환 되는 개체의 속성을 설정 합니다.To set cell styles for all rows in the control, set the properties of the object returned by the DataGridView.RowsDefaultCellStyle property. 교대로 반복 되는 행에 대 한 스타일을 설정 하려면 DataGridView.AlternatingRowsDefaultCellStyle 속성을 사용 합니다.To set styles for alternating rows, use the DataGridView.AlternatingRowsDefaultCellStyle property. 셀 스타일에 대 한 자세한 내용은 Windows Forms DataGridView 컨트롤의 셀 스타일을 참조 하세요.For more information about cell styles, see Cell Styles in the Windows Forms DataGridView Control. DataGridView.RowTemplate 속성을 사용 하 여 컨트롤에 추가 된 모든 행에 대 한 기준으로 사용 될 행을 정의할 수도 있습니다.You can also use the DataGridView.RowTemplate property to define a row that will be used as a basis for all rows added to the control.

DataGridView 컨트롤은 가능한 경우 성능 저하를 방지 하기 위해 여러 데이터 행에서 DataGridViewRow 개체를 공유 합니다.The DataGridView control will share DataGridViewRow objects across multiple data rows whenever possible to avoid performance penalties. 많은 양의 데이터 및 성능 문제가 발생 작업할 경우가 아니면 행 공유 일반적으로 무시할 수 있습니다.Unless you are working with large amounts of data and experiencing performance issues, you can typically ignore row sharing. 공유 행은 Index 속성 값-1로 표시 됩니다.A shared row is indicated by an Index property value of -1. DataGridViewRow 클래스의 일부 멤버는 공유 행과 함께 사용할 수 없지만 DataGridViewRowCollection.Item[] 속성을 통해 액세스 하 여 행의 공유를 해제할 수 있습니다.Some members of the DataGridViewRow class cannot be used with shared rows, but you can unshare a row by accessing it through the DataGridViewRowCollection.Item[] property. 행도 다른 방법으로 해제할 수 있습니다.Rows can also become unshared in other ways. 행의 공유가 없는 행에 액세스 하려면 DataGridViewRowCollection.SharedRow 메서드를 사용 합니다.To access a row without unsharing it, use the DataGridViewRowCollection.SharedRow method. 많은 양의 데이터를 사용할 때에 행은 공유 하 고 성능 저하를 방지 하려면 공유 해제 하는 방법을 인식 해야 합니다.When working with large amounts of data, you should be aware of how rows are shared and unshared to avoid performance penalties. 자세한 내용은 Windows Forms DataGridView 컨트롤의 크기를 조정하는 최선의 방법을 참조하세요.For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

Notes to Inheritors

파생 하는 경우 DataGridViewRow 파생된 클래스에 새 속성 추가 재정의 해야 합니다 Clone() 복제 작업 중 새 속성을 복사 하는 방법입니다.When you derive from DataGridViewRow and add new properties to the derived class, be sure to override the Clone() method to copy the new properties during cloning operations. 또한 기본 클래스를 호출 해야 Clone() 메서드는 기본 클래스의 속성이 새로운 셀에 복사 되도록 합니다.You should also call the base class's Clone() method so that the properties of the base class are copied to the new cell.



템플릿을 사용하지 않고 DataGridViewRow 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataGridViewRow class without using a template.



DataGridViewRow.DataGridViewRowAccessibleObject에 할당된 DataGridViewRow를 가져옵니다.Gets the DataGridViewRow.DataGridViewRowAccessibleObject assigned to the DataGridViewRow.


행을 채우는 셀의 컬렉션을 가져옵니다.Gets the collection of cells that populate the row.


행의 바로 가기 메뉴를 가져오거나 설정합니다.Gets or sets the shortcut menu for the row.


행을 채운 데이터 바인딩된 개체를 가져옵니다.Gets the data-bound object that populated the row.


이 요소와 관련된 DataGridView 컨트롤을 가져옵니다.Gets the DataGridView control associated with this element.

(Inherited from DataGridViewElement)

스타일이 재정의 되지 않는 경우 행의 셀을 렌더링 하는 데 사용 되는 행에 대 한 기본 스타일을 가져오거나 설정 합니다.Gets or sets the default styles for the row, which are used to render cells in the row unless the styles are overridden.


기본 머리글 셀의 런타임 형식을 가져오거나 설정 합니다.Gets or sets the run-time type of the default header cell.

(Inherited from DataGridViewBand)

이 행이 화면에 표시되는지를 나타내는 값을 가져옵니다.Gets a value indicating whether this row is displayed on the screen.


행 구분선의 높이(픽셀)를 가져오거나 설정합니다.Gets or sets the height, in pixels, of the row divider.


행 수준 오류에 대한 오류 메시지 텍스트를 가져오거나 설정합니다.Gets or sets the error message text for row-level errors.


행이 고정 되어 있는지 여부를 나타내는 값을 가져오거나 설정 합니다.Gets or sets a value indicating whether the row is frozen.


DefaultCellStyle 속성이 설정되었는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the DefaultCellStyle property has been set.

(Inherited from DataGridViewBand)

행의 머리글 셀을 가져오거나 설정합니다.Gets or sets the row's header cell.


DataGridViewBand의 머리글 셀을 가져오거나 설정합니다.Gets or sets the header cell of the DataGridViewBand.

(Inherited from DataGridViewBand)

행의 현재 높이를 가져오거나 설정합니다.Gets or sets the current height of the row.


DataGridView 컨트롤에서 밴드의 상대적 위치를 가져옵니다.Gets the relative position of the band within the DataGridView control.

(Inherited from DataGridViewBand)

행에 적용되는 셀 스타일을 가져옵니다.Gets the cell style in effect for the row.


행이 새 레코드에 대한 행인지를 나타내는 값을 가져옵니다.Gets a value indicating whether the row is the row for new records.


밴드가 행을 나타내는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the band represents a row.

(Inherited from DataGridViewBand)

행의 최소 높이를 가져오거나 설정합니다.Gets or sets the minimum height of the row.


행이 읽기 전용인지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the row is read-only.


사용자가 행의 크기를 조정할 수 있는지 여부를 나타내거나 크기 조정 동작이 AllowUserToResizeRows 속성에서 상속됨을 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether users can resize the row or indicating that the behavior is inherited from the AllowUserToResizeRows property.


행이 선택 되어 있는지 여부를 나타내는 값을 가져오거나 설정 합니다.Gets or sets a value indicating whether the row is selected.


행의 현재 상태를 가져옵니다.Gets the current state of the row.


밴드에 연결할 데이터가 포함 된 개체를 가져오거나 설정 합니다.Gets or sets the object that contains data to associate with the band.

(Inherited from DataGridViewBand)

행 표시 되는지 여부를 나타내는 값을 가져오거나 설정 합니다.Gets or sets a value indicating whether the row is visible.


AdjustRowHeaderBorderStyle(DataGridViewAdvancedBorderStyle, DataGridViewAdvancedBorderStyle, Boolean, Boolean, Boolean, Boolean)

지정된 조건에 따라 입력 행 머리글의 테두리 스타일을 수정합니다.Modifies an input row header border style according to the specified criteria.


이 행과 정확하게 일치하는 복사본을 만듭니다.Creates an exact copy of this row.


DataGridViewRow에 대해 액세스 가능한 개체를 새로 만듭니다.Creates a new accessible object for the DataGridViewRow.


기존 셀을 지우고 제공된 DataGridView 템플릿에 따라 셀의 템플릿을 설정합니다.Clears the existing cells and sets their template according to the supplied DataGridView template.

CreateCells(DataGridView, Object[])

기존 셀을 지우고 셀 템플릿과 값을 설정합니다.Clears the existing cells and sets their template and values.


이 행을 기반으로 셀의 새 컬렉션을 만듭니다.Constructs a new collection of cells based on this row.

Dispose() DataGridViewBand에서 사용한 모든 리소스를 해제합니다.Releases all resources used by the DataGridViewBand. (Inherited from DataGridViewBand)
Dispose(Boolean) DataGridViewBand에서 사용한 관리되지 않는 리소스를 해제하고 선택적으로 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the DataGridViewBand and optionally releases the managed resources. (Inherited from DataGridViewBand)
DrawFocus(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, DataGridViewCellStyle, Boolean)

지정된 범위 주위에 포커스 영역을 그립니다.Draws a focus rectangle around the specified bounds.


지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)

행의 바로 가기 메뉴를 가져옵니다.Gets the shortcut menu for the row.


지정된 인덱스의 행에 대한 오류 텍스트를 가져옵니다.Gets the error text for the row at the specified index.


기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetPreferredHeight(Int32, DataGridViewAutoSizeRowMode, Boolean)

지정된 조건에 따라 지정된 행의 이상적인 높이를 계산합니다.Calculates the ideal height of the specified row based on the specified criteria.


행의 현재 상태를 나타내는 값을 반환합니다.Returns a value indicating the current state of the row.


현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)

밴드가 다른 DataGridView에 연결될 때 호출됩니다.Called when the band is associated with a different DataGridView.

(Inherited from DataGridViewBand)
Paint(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Boolean, Boolean)

현재 행을 그립니다.Paints the current row.

PaintCells(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Boolean, Boolean, DataGridViewPaintParts)

현재 행의 셀을 그립니다.Paints the cells in the current row.

PaintHeader(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Boolean, Boolean, DataGridViewPaintParts)

현재 행의 머리글 셀을 그립니다.Paints the header cell of the current row.

RaiseCellClick(DataGridViewCellEventArgs) CellClick 이벤트를 발생시킵니다.Raises the CellClick event. (Inherited from DataGridViewElement)
RaiseCellContentClick(DataGridViewCellEventArgs) CellContentClick 이벤트를 발생시킵니다.Raises the CellContentClick event. (Inherited from DataGridViewElement)
RaiseCellContentDoubleClick(DataGridViewCellEventArgs) CellContentDoubleClick 이벤트를 발생시킵니다.Raises the CellContentDoubleClick event. (Inherited from DataGridViewElement)
RaiseCellValueChanged(DataGridViewCellEventArgs) CellValueChanged 이벤트를 발생시킵니다.Raises the CellValueChanged event. (Inherited from DataGridViewElement)
RaiseDataError(DataGridViewDataErrorEventArgs) DataError 이벤트를 발생시킵니다.Raises the DataError event. (Inherited from DataGridViewElement)
RaiseMouseWheel(MouseEventArgs) MouseWheel 이벤트를 발생시킵니다.Raises the MouseWheel event. (Inherited from DataGridViewElement)

행의 셀 값을 설정합니다.Sets the values of the row's cells.


행을 설명하는, 사람이 인식할 수 있는 문자열을 가져옵니다.Gets a human-readable string that describes the row.

Applies to

See also