Share via


DataGridViewColumnCollection.Add 메서드

정의

지정된 열을 컬렉션에 추가합니다.

오버로드

Add(DataGridViewColumn)

지정된 열을 컬렉션에 추가합니다.

Add(String, String)

지정된 열 이름과 열 머리글 텍스트가 있는 DataGridViewTextBoxColumn을 컬렉션에 추가합니다.

Add(DataGridViewColumn)

지정된 열을 컬렉션에 추가합니다.

public:
 virtual int Add(System::Windows::Forms::DataGridViewColumn ^ dataGridViewColumn);
public virtual int Add (System.Windows.Forms.DataGridViewColumn dataGridViewColumn);
abstract member Add : System.Windows.Forms.DataGridViewColumn -> int
override this.Add : System.Windows.Forms.DataGridViewColumn -> int
Public Overridable Function Add (dataGridViewColumn As DataGridViewColumn) As Integer

매개 변수

dataGridViewColumn
DataGridViewColumn

추가할 DataGridViewColumn입니다.

반환

Int32

열의 인덱스입니다.

예외

dataGridViewColumn이(가) null인 경우

연결된 DataGridView 컨트롤에서 임시로 새 열을 추가하지 못하게 하는 다음 작업 중 하나를 수행하고 있는 경우

  • 컨트롤의 셀을 모두 선택합니다.

  • 선택을 취소합니다.

  • 열의 DisplayIndex 속성 값을 업데이트합니다.

또는 이 메서드는 다음 DataGridView 이벤트 중 하나의 처리기에서 호출됩니다.

또는 dataGridViewColumn이 이미 DataGridView 컨트롤에 속해 있는 경우

또는 dataGridViewColumnSortMode 속성 값이 Automatic이고 SelectionMode 속성 값이 FullColumnSelect 또는 ColumnHeaderSelect입니다. 컨트롤의 ISupportInitialize.BeginInit()ISupportInitialize.EndInit() 메서드를 사용하여 충돌하는 속성 값을 임시로 설정합니다.

또는 dataGridViewColumnInheritedAutoSizeMode 속성 값이 ColumnHeader이고 ColumnHeadersVisible 속성 값은 false입니다.

또는 dataGridViewColumnInheritedAutoSizeMode 속성 값이 Fill이고 Frozen 속성 값이 true인 경우

또는 컨트롤에 있는 모든 열의 FillWeight 값을 결합할 때 65535가 초과되는 값으로 dataGridViewColumnFillWeight 속성이 설정된 경우

또는 dataGridViewColumn에, 인접한 열 집합과 DisplayIndex 속성 값이 반대인 열을 표시하는 FrozenFrozen 속성 값이 있는 경우

또는 DataGridView 컨트롤에 하나 이상의 행이 있고 dataGridViewColumnCellType 속성 값이 null인 경우

예제

다음 코드 예제에서는이 메서드의 사용을 보여 줍니다.

private DataGridView dataGridView1 = new DataGridView();

private void AddColorColumn()
{
    DataGridViewComboBoxColumn comboBoxColumn =
        new DataGridViewComboBoxColumn();
    comboBoxColumn.Items.AddRange(
        Color.Red, Color.Yellow, Color.Green, Color.Blue);
    comboBoxColumn.ValueType = typeof(Color);
    dataGridView1.Columns.Add(comboBoxColumn);
    dataGridView1.EditingControlShowing +=
        new DataGridViewEditingControlShowingEventHandler(
        dataGridView1_EditingControlShowing);
}

private void dataGridView1_EditingControlShowing(object sender,
    DataGridViewEditingControlShowingEventArgs e)
{
    ComboBox combo = e.Control as ComboBox;
    if (combo != null)
    {
        // Remove an existing event-handler, if present, to avoid 
        // adding multiple handlers when the editing control is reused.
        combo.SelectedIndexChanged -=
            new EventHandler(ComboBox_SelectedIndexChanged);

        // Add the event handler. 
        combo.SelectedIndexChanged +=
            new EventHandler(ComboBox_SelectedIndexChanged);
    }
}

private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    ((ComboBox)sender).BackColor = (Color)((ComboBox)sender).SelectedItem;
}
Private WithEvents dataGridView1 As New DataGridView()

Private Sub AddColorColumn()

    Dim comboBoxColumn As New DataGridViewComboBoxColumn()
    comboBoxColumn.Items.AddRange( _
        Color.Red, Color.Yellow, Color.Green, Color.Blue)
    comboBoxColumn.ValueType = GetType(Color)
    dataGridView1.Columns.Add(comboBoxColumn)

End Sub

Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, _
    ByVal e As DataGridViewEditingControlShowingEventArgs) _
    Handles dataGridView1.EditingControlShowing

    Dim combo As ComboBox = CType(e.Control, ComboBox)
    If (combo IsNot Nothing) Then

        ' Remove an existing event-handler, if present, to avoid 
        ' adding multiple handlers when the editing control is reused.
        RemoveHandler combo.SelectedIndexChanged, _
            New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

        ' Add the event handler. 
        AddHandler combo.SelectedIndexChanged, _
            New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

    End If

End Sub

Private Sub ComboBox_SelectedIndexChanged( _
    ByVal sender As Object, ByVal e As EventArgs)

    Dim comboBox1 As ComboBox = CType(sender, ComboBox)
    comboBox1.BackColor = _
        CType(CType(sender, ComboBox).SelectedItem, Color)

End Sub

추가 정보

적용 대상

Add(String, String)

지정된 열 이름과 열 머리글 텍스트가 있는 DataGridViewTextBoxColumn을 컬렉션에 추가합니다.

public:
 virtual int Add(System::String ^ columnName, System::String ^ headerText);
public virtual int Add (string columnName, string headerText);
abstract member Add : string * string -> int
override this.Add : string * string -> int
Public Overridable Function Add (columnName As String, headerText As String) As Integer

매개 변수

columnName
String

열을 참조하는 데 사용할 이름입니다.

headerText
String

열 머리글의 텍스트입니다.

반환

Int32

열의 인덱스입니다.

예외

연결된 DataGridView 컨트롤에서 임시로 새 열을 추가하지 못하게 하는 다음 작업 중 하나를 수행하고 있는 경우

  • 컨트롤의 셀을 모두 선택합니다.

  • 선택을 취소합니다.

  • 열의 DisplayIndex 속성 값을 업데이트합니다.

또는 이 메서드는 다음 DataGridView 이벤트 중 하나의 처리기에서 호출됩니다.

또는 SelectionMode 속성 값이 FullColumnSelect의 기본 열 ColumnHeaderSelect 속성 값과 충돌하는 SortMode 또는 Automatic인 경우

또는 기본 열 FillWeight 속성 값이 100으로 설정되어 있어 컨트롤에 있는 모든 열의 FillWeight 값을 결합할 때 65535가 초과되는 경우

설명

columnNameheaderText 매개 변수는 각각 및 속성과 HeaderText 관련이 Name 있습니다.

추가 정보

적용 대상