Teilen über


DataGridView.RowCount Eigenschaft

Definition

Ruft die Anzahl der Zeilen ab, die im DataGridView-Steuerelement angezeigt werden, oder legt diese Anzahl fest.

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

Eigenschaftswert

Die Anzahl der Zeilen, die im DataGridView-Steuerelement angezeigt werden.

Attribute

Ausnahmen

Der beim Festlegen dieser Eigenschaft angegebene Wert ist kleiner als 0 (null).

- oder -

Der angegebene Wert ist kleiner als 1, und AllowUserToAddRows ist auf true festgelegt.

Beim Festlegen dieser Eigenschaft, wird die DataSource-Eigenschaft festgelegt.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des RowCount-Attributs veranschaulicht. In diesem Beispiel wird diese Eigenschaft verwendet, um die Anzahl der Einträge in einem DataGridViewnachzuverfolgen. Dieses Beispiel ist Teil eines größeren Beispiels, das SelectionChanged im -Ereignis verfügbar ist.

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 der Rows Auflistung entfernt. Wenn RowCount auf einen Wert festgelegt ist, der größer als der aktuelle Wert ist, werden Zeilen am Ende der Rows Auflistung hinzugefügt. Die zusätzlichen Zeilen basieren auf der zeile, die in der RowTemplate -Eigenschaft angegeben ist.

Wenn Sie die RowCount -Eigenschaft auf 0 festlegen, werden alle Zeilen aus dem DataGridViewentfernt. Dies entspricht dem Aufrufen der DataGridViewRowCollection.Clear -Methode.

Hinweis

Wenn AllowUserToAddRows ist true, können Sie nicht auf 0 festlegen RowCount . Rufen Sie in diesem Fall die DataGridViewRowCollection.Clear -Methode auf, um alle Zeilen außer der Zeile für neue Datensätze zu entfernen. Das Aufrufen Clear hat in diesem Fall das gleiche Ergebnis wie die Einstellung RowCount auf 1, ist aber viel schneller.

Die RowCount -Eigenschaft kann mit der ColumnCount -Eigenschaft verwendet werden, um eine einfache DataGridView zum Anzeigen und Bearbeiten von Text zu erstellen. Wenn Sie die RowCount -Eigenschaft für DataGridView ein Steuerelement ohne Spalten auf einen Wert größer als 0 festlegen, wird automatisch eine DataGridViewTextBoxColumn hinzugefügt.

Gilt für:

Weitere Informationen