DataGridView.RowCount Propriedade

Definição

Obtém ou define o número de linhas exibidas no DataGridView.Gets or sets the number of rows displayed in the DataGridView.

public:
 property int RowCount { int get(); void set(int value); };
[System.ComponentModel.Browsable(false)]
public int RowCount { get; set; }
member this.RowCount : int with get, set
Public Property RowCount As Integer

Valor da propriedade

O número de linhas a serem exibidas no DataGridView.The number of rows to display in the DataGridView.

Atributos

Exceções

O valor especificado ao definir essa propriedade é menor que 0.The specified value when setting this property is less than 0.

- ou --or- O valor especificado é menor que 1 e AllowUserToAddRows é definido como true.The specified value is less than 1 and AllowUserToAddRows is set to true.

Ao definir essa propriedade, a propriedade DataSource é definida.When setting this property, the DataSource property is set.

Exemplos

O exemplo de código a seguir demonstra o uso da propriedade RowCount.The following code example demonstrates the use of the RowCount property. Neste exemplo, essa propriedade é usada para rastrear o número de entradas em um DataGridView.In this example, this property is used to track the number of entries in a DataGridView. Este exemplo faz parte de um exemplo maior disponível no evento SelectionChanged.This example is part of a larger example available in the SelectionChanged event.

private void UpdateLabelText()
{
    int WithdrawalTotal = 0;
    int DepositTotal = 0;
    int SelectedCellTotal = 0;
    int counter;

    // Iterate through all the rows and sum up the appropriate columns.
    for (counter = 0; counter < (DataGridView1.Rows.Count);
        counter++)
    {
        if (DataGridView1.Rows[counter].Cells["Withdrawals"].Value
            != null)
        {
            if (DataGridView1.Rows[counter].
                Cells["Withdrawals"].Value.ToString().Length != 0)
            {
                WithdrawalTotal += int.Parse(DataGridView1.Rows[counter].
                    Cells["Withdrawals"].Value.ToString());
            }
        }

        if (DataGridView1.Rows[counter].Cells["Deposits"].Value != null)
        {
            if (DataGridView1.Rows[counter]
                .Cells["Deposits"].Value.ToString().Length != 0)
            {
                DepositTotal += int.Parse(DataGridView1.Rows[counter]
                    .Cells["Deposits"].Value.ToString());
            }
        }
    }

    // Iterate through the SelectedCells collection and sum up the values.
    for (counter = 0;
        counter < (DataGridView1.SelectedCells.Count); counter++)
    {
        if (DataGridView1.SelectedCells[counter].FormattedValueType ==
            Type.GetType("System.String"))
        {
            string value = null;

            // If the cell contains a value that has not been commited,
            // use the modified value.
            if (DataGridView1.IsCurrentCellDirty == true)
            {

                value = DataGridView1.SelectedCells[counter]
                    .EditedFormattedValue.ToString();
            }
            else
            {
                value = DataGridView1.SelectedCells[counter]
                    .FormattedValue.ToString();
            }
            if (value != null)
            {
                // Ignore cells in the Description column.
                if (DataGridView1.SelectedCells[counter].ColumnIndex !=
                    DataGridView1.Columns["Description"].Index)
                {
                    if (value.Length != 0)
                    {
                        SelectedCellTotal += int.Parse(value);
                    }
                }
            }
        }
    }

    // Set the labels to reflect the current state of the DataGridView.
    Label1.Text = "Withdrawals Total: " + WithdrawalTotal.ToString();
    Label2.Text = "Deposits Total: " + DepositTotal.ToString();
    Label3.Text = "Selected Cells Total: " + SelectedCellTotal.ToString();
    Label4.Text = "Total entries: " + DataGridView1.RowCount.ToString();
}
Private Sub UpdateLabelText()
    Dim WithdrawalTotal As Integer = 0
    Dim DepositTotal As Integer = 0
    Dim SelectedCellTotal As Integer = 0
    Dim counter As Integer

    ' Iterate through all the rows and sum up the appropriate columns.
    For counter = 0 To (DataGridView1.Rows.Count - 1)
        If Not DataGridView1.Rows(counter) _
            .Cells("Withdrawals").Value Is Nothing Then

            If Not DataGridView1.Rows(counter) _
                .Cells("Withdrawals").Value.ToString().Length = 0 Then

                WithdrawalTotal += _
                    Integer.Parse(DataGridView1.Rows(counter) _
                    .Cells("Withdrawals").Value.ToString())
            End If
        End If

        If Not DataGridView1.Rows(counter) _
            .Cells("Deposits").Value Is Nothing Then

            If Not DataGridView1.Rows(counter) _
                .Cells("Deposits").Value.ToString().Length = 0 Then

                DepositTotal += _
                    Integer.Parse(DataGridView1.Rows(counter) _
                    .Cells("Deposits").Value.ToString())
            End If
        End If
    Next

    ' Iterate through the SelectedCells collection and sum up the values.
    For counter = 0 To (DataGridView1.SelectedCells.Count - 1)
        If DataGridView1.SelectedCells(counter).FormattedValueType Is _
        Type.GetType("System.String") Then

            Dim value As String = Nothing

            ' If the cell contains a value that has not been commited,
            ' use the modified value.
            If (DataGridView1.IsCurrentCellDirty = True) Then

                value = DataGridView1.SelectedCells(counter) _
                    .EditedFormattedValue.ToString()
            Else

                value = DataGridView1.SelectedCells(counter) _
                    .FormattedValue.ToString()
            End If

            If value IsNot Nothing Then

                ' Ignore cells in the Description column.
                If Not DataGridView1.SelectedCells(counter).ColumnIndex = _
                    DataGridView1.Columns("Description").Index Then

                    If Not value.Length = 0 Then
                        SelectedCellTotal += Integer.Parse(value)
                    End If
                End If
            End If
        End If

    Next

    ' Set the labels to reflect the current state of the DataGridView.
    Label1.Text = "Withdrawals Total: " & WithdrawalTotal.ToString()
    Label2.Text = "Deposits Total: " & DepositTotal.ToString()
    Label3.Text = "Selected Cells Total: " & SelectedCellTotal.ToString()
    Label4.Text = "Total entries: " & DataGridView1.RowCount.ToString()
End Sub

Comentários

Se RowCount for definido com um valor menor que o valor atual, as linhas serão removidas do final da coleção de Rows.If RowCount is set to a value less than the current value, rows will be removed from the end of the Rows collection. Se RowCount for definido como um valor maior que o valor atual, as linhas serão adicionadas ao final da coleção de Rows.If RowCount is set to a value greater than the current value, rows will be added to the end of the Rows collection. As linhas adicionais baseiam-se na linha especificada na propriedade RowTemplate.The additional rows are based on the row specified in the RowTemplate property.

Se você definir a propriedade RowCount como 0, todas as linhas serão removidas do DataGridView.If you set the RowCount property to 0, all rows will be removed from the DataGridView. Isso é equivalente a chamar o método DataGridViewRowCollection.Clear.This is equivalent to calling the DataGridViewRowCollection.Clear method.

Observação

Se AllowUserToAddRows for true, você não poderá definir RowCount como 0.If AllowUserToAddRows is true, you cannot set RowCount to 0. Nesse caso, chame o método DataGridViewRowCollection.Clear para remover todas as linhas, exceto a linha de novos registros.In this case, call the DataGridViewRowCollection.Clear method to remove all rows except the row for new records. A chamada a Clear tem o mesmo resultado que a configuração RowCount a 1 nesse caso, mas é muito mais rápida.Calling Clear has the same result as setting RowCount to 1 in this case, but is much faster.

A propriedade RowCount pode ser usada com a propriedade ColumnCount para criar um @no__t simples-2 para exibir e editar texto.The RowCount property can be used with the ColumnCount property to create a simple DataGridView for displaying and editing text. Se você definir a propriedade RowCount com um valor maior que 0 para um controle DataGridView sem colunas, um DataGridViewTextBoxColumn será adicionado automaticamente.If you set the RowCount property to a value greater than 0 for a DataGridView control without columns, a DataGridViewTextBoxColumn is added automatically.

Aplica-se a

Veja também