DataGridView.RowCount DataGridView.RowCount DataGridView.RowCount DataGridView.RowCount Property

Definition

Ruft die Anzahl der Zeilen ab, die im DataGridView-Steuerelement angezeigt werden, oder legt diese Anzahl fest.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

Eigenschaftswert

Die Anzahl der Zeilen, die im DataGridView-Steuerelement angezeigt werden.The number of rows to display in the DataGridView.

Ausnahmen

Der beim Festlegen dieser Eigenschaft angegebene Wert ist kleiner als 0 (null).The specified value when setting this property is less than 0.

- oder --or- Der angegebene Wert ist kleiner als 1, und AllowUserToAddRows ist auf true festgelegt.The specified value is less than 1 and AllowUserToAddRows is set to true.

Beim Festlegen dieser Eigenschaft, wird die DataSource-Eigenschaft festgelegt.When setting this property, the DataSource property is set.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des RowCount-Attributs veranschaulicht.The following code example demonstrates the use of the RowCount property. In diesem Beispiel wird diese Eigenschaft verwendet, um die Anzahl von Einträgen in einem DataGridViewzu verfolgen.In this example, this property is used to track the number of entries in a DataGridView. Dieses Beispiel ist Teil eines größeren Beispiels, das SelectionChanged im Ereignis verfügbar ist.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

Hinweise

Wenn RowCount auf einen Wert festgelegt ist, der kleiner als der aktuelle Wert ist, werden Zeilen am Ende Rows der Auflistung entfernt.If RowCount is set to a value less than the current value, rows will be removed from the end of the Rows collection. Wenn RowCount auf einen Wert festgelegt ist, der größer ist als der aktuelle Wert, werden Zeilen am Ende Rows der Auflistung hinzugefügt.If RowCount is set to a value greater than the current value, rows will be added to the end of the Rows collection. Die zusätzlichen Zeilen basieren auf der Zeile, die in der RowTemplate -Eigenschaft angegeben ist.The additional rows are based on the row specified in the RowTemplate property.

Wenn Sie die RowCount -Eigenschaft auf 0 festlegen, werden alle Zeilen aus der DataGridViewentfernt.If you set the RowCount property to 0, all rows will be removed from the DataGridView. Dies entspricht dem Aufrufen der DataGridViewRowCollection.Clear -Methode.This is equivalent to calling the DataGridViewRowCollection.Clear method.

Hinweis

Wenn AllowUserToAddRowsden Wert RowCount hat, können Sie nicht auf 0 festlegen. trueIf AllowUserToAddRows is true, you cannot set RowCount to 0. In diesem Fall wird die DataGridViewRowCollection.Clear -Methode aufgerufen, um alle Zeilen außer der Zeile für neue Datensätze zu entfernen.In this case, call the DataGridViewRowCollection.Clear method to remove all rows except the row for new records. Der Clear Aufruf von hat dasselbe Ergebnis wie RowCount das Festlegen von auf 1 in diesem Fall, ist aber viel schneller.Calling Clear has the same result as setting RowCount to 1 in this case, but is much faster.

Die RowCount -Eigenschaft kann mit der ColumnCount -Eigenschaft verwendet werden, um DataGridView eine einfache zum Anzeigen und Bearbeiten von Text zu erstellen.The RowCount property can be used with the ColumnCount property to create a simple DataGridView for displaying and editing text. Wenn Sie für ein RowCount DataGridView Steuerelement ohne Spalten den Wert für die-Eigenschaft auf einen Wert größer DataGridViewTextBoxColumn 0 festlegen, wird automatisch eine hinzugefügt.If you set the RowCount property to a value greater than 0 for a DataGridView control without columns, a DataGridViewTextBoxColumn is added automatically.

Gilt für:

Siehe auch