DataRow.Item[] Eigenschaft

Definition

Ruft die Daten aus einer angegebenen Spalte ab oder legt diese fest.

Überlädt

Item[DataColumn]

Ruft die in der angegebenen DataColumn gespeicherten Daten ab oder legt diese fest.

Item[Int32]

Ruft die Daten aus der durch den Index angegebenen Spalte ab oder legt diese fest.

Item[String]

Ruft die Daten aus der durch den Namen angegebenen Spalte ab oder legt diese fest.

Item[DataColumn, DataRowVersion]

Ruft die angegebene Version der Daten aus der angegebenen DataColumn ab.

Item[Int32, DataRowVersion]

Ruft die durch den Index und die Version angegebenen Daten aus der Spalte ab.

Item[String, DataRowVersion]

Ruft die angegebene Version der Daten aus der benannten Spalte ab.

Item[DataColumn]

Ruft die in der angegebenen DataColumn gespeicherten Daten ab oder legt diese fest.

public:
 property System::Object ^ default[System::Data::DataColumn ^] { System::Object ^ get(System::Data::DataColumn ^ column); void set(System::Data::DataColumn ^ column, System::Object ^ value); };
public object this[System.Data.DataColumn column] { get; set; }
member this.Item(System.Data.DataColumn) : obj with get, set
Default Public Property Item(column As DataColumn) As Object

Parameter

column
DataColumn

Ein DataColumn, der die Daten enthält.

Eigenschaftswert

Object

Eine Instanz von Object, die die Daten enthält.

Ausnahmen

Die Spalte gehört nicht zu dieser Tabelle.

Die column ist NULL.

Es wurde versucht, einen Wert für eine gelöschte Zeile festzulegen.

Der Datentyp des Werts und der Datentyp der Spalte stimmen nicht überein.

Beispiele

Die folgenden Beispiele veranschaulichen die Verwendung der Item[] -Eigenschaft, um den Wert eines bestimmten Spaltenindexes abzurufen und festzulegen. Im ersten Beispiel wird der Wert der ersten Spalte in einer Beliebigen Zeile, auf die ein Benutzer in einem -Steuerelement klickt, DataGrid angezeigt. Die zweite legt einen Wert fest, der als Argument an die Methode übergeben wird.

Private Sub DataGrid1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs)
    
    Dim dataGridTable As DataTable = _
        CType(DataGrid1.DataSource, DataTable)
    ' Set the current row using the RowNumber 
    ' property of the CurrentCell.
    Dim currentRow As DataRow = _
        dataGridTable.Rows(DataGrid1.CurrentCell.RowNumber)
    Dim column As DataColumn = dataGridTable.Columns(1)

    ' Get the value of the column 1 in the DataTable.
    label1.Text = currentRow(column).ToString()
End Sub
 
Private Sub SetDataRowValue( _
    ByVal grid As DataGrid, ByVal newVal As Object)

    ' Set the value of a column in the last row of a DataGrid.
    Dim table As DataTable = CType(grid.DataSource, DataTable)
    Dim row As DataRow = table.Rows(table.Rows.Count - 1)
    Dim column As DataColumn = table.Columns("FirstName")
    row(column)= newVal
End Sub

Hinweise

Wenn Sie die -Eigenschaft festlegen, wird eine Ausnahme generiert, wenn im Ereignis eine Ausnahme ColumnChanging auftritt.

Wenn es sich um eine sofortige Bearbeitung handelt, finden Sie weitere Informationen zu EndEdit den Ausnahmen, die generiert werden können.

Gilt für

Item[Int32]

Ruft die Daten aus der durch den Index angegebenen Spalte ab oder legt diese fest.

public:
 property System::Object ^ default[int] { System::Object ^ get(int columnIndex); void set(int columnIndex, System::Object ^ value); };
public object this[int columnIndex] { get; set; }
member this.Item(int) : obj with get, set
Default Public Property Item(columnIndex As Integer) As Object

Parameter

columnIndex
Int32

Der nullbasierte Index der Spalte.

Eigenschaftswert

Object

Eine Instanz von Object, die die Daten enthält.

Ausnahmen

Wird ausgelöst, wenn Sie versuchen, einen Wert in einer gelöschten Zeile festzulegen.

Das columnIndex-Argument liegt außerhalb des gültigen Bereichs.

Wird ausgelöst, wenn Sie einen Wert festlegen und der Type des neuen Werts nicht mit dem DataType übereinstimmt.

Beispiele

Die folgenden Beispiele veranschaulichen die Verwendung der Item[] -Eigenschaft, um den Wert eines bestimmten Spaltenindexes abzurufen und festzulegen. Im ersten Beispiel wird der Wert der ersten Spalte in einer Beliebigen Zeile, auf die ein Benutzer in einem -Steuerelement klickt, DataGrid angezeigt.

private void DataGrid1_Click(object sender,
    System.EventArgs e)
{
    // Get the DataTable the grid is bound to.
    DataGrid thisGrid = (DataGrid) sender;
    DataTable table = (DataTable) thisGrid.DataSource;
    DataRow currentRow =
        table.Rows[thisGrid.CurrentCell.RowNumber];

    // Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow[1]);
    // You can also use the name of the column:
    // Console.WriteLine(currentRow["FirstName"])
}

private void SetDataRowValue(DataGrid grid, object newValue)
{
    // Set the value of the last column in the last row of a DataGrid.
    DataTable table;
    table = (DataTable) grid.DataSource;
    DataRow row;

    // Get last row
    row = (DataRow)table.Rows[table.Rows.Count-1];

    // Set value of last column
    row[table.Columns.Count-1] = newValue;
}
Private Sub DataGrid1_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs)

    ' Get the DataTable the grid is bound to.
    Dim thisGrid As DataGrid = CType(sender, DataGrid)
    Dim table As DataTable = CType(thisGrid.DataSource, DataTable)
    Dim currentRow As DataRow = _
        table.Rows(thisGrid.CurrentCell.RowNumber)

    ' Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow(1))
    ' You can also use the name of the column:
    ' Console.WriteLine(currentRow("FirstName"))
    End Sub

    Private Sub SetDataRowValue( _
        ByVal grid As DataGrid, ByVal newValue As Object)

    ' Set the value of the last column in the last row of a DataGrid.
    Dim table As DataTable
    table = CType(grid.DataSource, DataTable)
    Dim row As DataRow 
    row = table.Rows(table.Rows.Count-1)
    row(table.Columns.Count-1) = newValue
End Sub

Hinweise

Wenn Sie die -Eigenschaft festlegen, wird eine Ausnahme generiert, wenn eine Ausnahme im ColumnChanging -Ereignis auftritt.

Wenn es sich um eine Bearbeitung handelt, finden Sie weitere Informationen zu EndEdit den Ausnahmen, die generiert werden können.

Gilt für

Item[String]

Ruft die Daten aus der durch den Namen angegebenen Spalte ab oder legt diese fest.

public:
 property System::Object ^ default[System::String ^] { System::Object ^ get(System::String ^ columnName); void set(System::String ^ columnName, System::Object ^ value); };
public object this[string columnName] { get; set; }
member this.Item(string) : obj with get, set
Default Public Property Item(columnName As String) As Object

Parameter

columnName
String

Der Name der Spalte.

Eigenschaftswert

Object

Eine Instanz von Object, die die Daten enthält.

Ausnahmen

Die durch columnName angegebene Spalte kann nicht gefunden werden.

Wird ausgelöst, wenn Sie versuchen, einen Wert in einer gelöschten Zeile festzulegen.

Tritt auf, wenn Sie einen Wert festlegen, dessen Type nicht mit DataType übereinstimmt.

Tritt auf, wenn Sie versuchen, einen NULL-Wert in eine Spalte einzufügen, in der AllowDBNull zu false festgelegt ist.

Beispiele

Die folgenden Beispiele veranschaulichen die Verwendung der Item[] -Eigenschaft, um den Wert eines bestimmten Spaltenindexes abzurufen und festzulegen. Im ersten Beispiel wird der Wert der ersten Spalte in einer Beliebigen Zeile, auf die ein Benutzer in einem -Steuerelement klickt, DataGrid angezeigt. Die zweite legt einen Wert fest, der als Argument an die Methode übergeben wird.

private void DataGrid1_Click(
    object sender, System.EventArgs e)
{
    // Get the DataTable the grid is bound to.
    DataGrid thisGrid = (DataGrid) sender;
    DataTable table = (DataTable) thisGrid.DataSource;
    DataRow currentRow =
        table.Rows[thisGrid.CurrentCell.RowNumber];

    // Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow["FirstName"]);
    // You can also use the index:
    // Console.WriteLine(currentRow[1]);
}

private void SetDataRowValue(
    DataGrid grid, object newValue)
{
    // Set the value of the first column in
    // the last row of a DataGrid.
    DataTable table = (DataTable) grid.DataSource;
    DataRow row = table.Rows[table.Rows.Count-1];
    row["FirstName"] = newValue;
}
Private Sub DataGrid1_Click( _
    sender As Object, e As System.EventArgs)
     
    ' Get the DataTable the grid is bound to.
    Dim thisGrid As DataGrid = CType(sender, DataGrid)
    Dim table As DataTable = _
        CType(thisGrid.DataSource, DataTable)
    Dim currentRow As DataRow = _
        table.Rows(thisGrid.CurrentCell.RowNumber)

    ' Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow("FirstName"))
    ' You can also use the index:
    ' Console.WriteLine(currentRow(1).ToString())
End Sub
    
Private Sub SetDataRowValue( _
    grid As DataGrid, newValue As Object)
    ' Set the value of the first column in 
    ' the last row of a DataGrid.
    Dim table As DataTable = _
        CType(grid.DataSource, DataTable)
    Dim row As DataRow
    row = table.Rows((table.Rows.Count - 1))
    row("FirstName") = newValue
End Sub

Hinweise

Wenn Sie die -Eigenschaft festlegen, wird eine Ausnahme generiert, wenn eine Ausnahme im ColumnChanging -Ereignis auftritt.

Wenn dies eine sofortige Bearbeitung ist, finden Sie weitere EndEdit Informationen zu den Ausnahmen, die generiert werden können.

Gilt für

Item[DataColumn, DataRowVersion]

Ruft die angegebene Version der Daten aus der angegebenen DataColumn ab.

public:
 property System::Object ^ default[System::Data::DataColumn ^, System::Data::DataRowVersion] { System::Object ^ get(System::Data::DataColumn ^ column, System::Data::DataRowVersion version); };
public object this[System.Data.DataColumn column, System.Data.DataRowVersion version] { get; }
member this.Item(System.Data.DataColumn * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(column As DataColumn, version As DataRowVersion) As Object

Parameter

column
DataColumn

Eine DataColumn, die Informationen über die Spalte enthält.

version
DataRowVersion

Einer der DataRowVersion-Werte, der die gewünschte Zeilenversion angibt. Mögliche Werte sind Default, Original, Current und Proposed.

Eigenschaftswert

Object

Eine Instanz von Object, die die Daten enthält.

Ausnahmen

Die Spalte gehört nicht zu der Tabelle.

Das column-Argument ist NULL.

In der Zeile ist diese Version der Daten nicht enthalten.

Beispiele

Im folgenden Beispiel wird der aktuelle Wert einer zelle, auf die geklickt wurde, im DataGrid -Steuerelement angezeigt.

private void DataGrid1_Click(object sender,
    System.EventArgs e)
{
    DataTable dataGridTable =
        (DataTable)DataGrid1.DataSource;

    // Set the current row using the RowNumber
    // property of the CurrentCell.
    DataRow currentRow = dataGridTable.Rows[DataGrid1.CurrentCell.RowNumber];
    DataColumn column = dataGridTable.Columns[1];

    // Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow[column, DataRowVersion.Current]);
}
Private Sub DataGrid1_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs)

    Dim dataGridTable As DataTable = _
        CType(DataGrid1.DataSource, DataTable)

    ' Set the current row using the RowNumber 
    ' property of the CurrentCell.
    Dim currentRow As DataRow = dataGridTable.Rows( _
        DataGrid1.CurrentRowIndex)
    Dim column As DataColumn = dataGridTable.Columns(1)

    ' Get the value of the column 1 in the DataTable.
    label1.Text = currentRow(column, _
        DataRowVersion.Current).ToString()
End Sub

Hinweise

Darf version nicht mit der -Eigenschaft verwechselt RowState werden. Das version Argument beschreibt den Zustand der Daten, die in der Spalte enthalten sind, relativ zum ursprünglichen Wert der Spalte.

Wenn Sie die -Eigenschaft festlegen, wird eine Ausnahme generiert, wenn eine Ausnahme im ColumnChanging -Ereignis auftritt.

Wenn dies eine sofortige Bearbeitung ist, finden Sie weitere EndEdit Informationen zu den Ausnahmen, die generiert werden können.

Siehe auch

Gilt für

Item[Int32, DataRowVersion]

Ruft die durch den Index und die Version angegebenen Daten aus der Spalte ab.

public:
 property System::Object ^ default[int, System::Data::DataRowVersion] { System::Object ^ get(int columnIndex, System::Data::DataRowVersion version); };
public object this[int columnIndex, System.Data.DataRowVersion version] { get; }
member this.Item(int * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(columnIndex As Integer, version As DataRowVersion) As Object

Parameter

columnIndex
Int32

Der nullbasierte Index der Spalte.

version
DataRowVersion

Einer der DataRowVersion-Werte, der die gewünschte Zeilenversion angibt. Mögliche Werte sind Default, Original, Current und Proposed.

Eigenschaftswert

Object

Eine Instanz von Object, die die Daten enthält.

Ausnahmen

Das columnIndex-Argument liegt außerhalb des gültigen Bereichs.

Der Datentyp des Werts und der Datentyp der Spalte stimmen nicht überein.

In der Zeile ist diese Version der Daten nicht enthalten.

Es wurde versucht, einen Wert für eine gelöschte Zeile festzulegen.

Beispiele

Das folgende Beispiel ruft den aktuellen Wert einer Spalte über die Item[] -Eigenschaft des -Objekts DataRow ab.

Private Sub DataGrid1_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    ' Set the current row using the RowNumber property of the CurrentCell.
    Dim currentRow As DataRow = CType(DataGrid1.DataSource, DataTable). _
       Rows(DataGrid1.CurrentCell.RowNumber)

    ' Get the value of the column 1 in the DataTable.
    label1.Text = currentRow(1, DataRowVersion.Current).ToString()
End Sub

Hinweise

Sie können eine Zeile nur erstellen oder aktualisieren, nachdem Sie die -Methode aufgerufen BeginEdit haben. Auf ähnliche Weise muss die EndEdit -Methode aufgerufen werden, um die Bearbeitung zu committen. Nachdem Sie die EndEdit -Methode aufgerufen haben und bevor Sie die AcceptChanges -Methode aufrufen, werden interne Darstellungen der ursprünglichen und neuen vorgeschlagenen Werte gespeichert. Daher können Sie bis zum Aufruf von das -Argument verwenden, um anzugeben, welche Version des Werts einer Spalte Sie AcceptChanges version benötigen, entweder oder DataRowVersion.Original DataRowVersion.Proposed . Sobald Sie jedoch die -Methode aufrufen, wird die Version der Spalte AcceptChanges auf zurückverwendet. DataRowVersion.Original Wenn die Zeile neu ist, können Sie auch übergeben, damit der Parameter DataRowVersion.Default den Standardwert der Spalte abruft. Bei der DataRowVersion.Current Übergabe von gibt die Eigenschaft den aktuellen Wert zurück, unabhängig von der Version.

Hinweis

Die -Methode wird implizit aufgerufen, wenn Sie den Wert eines datengebundenen Steuerelements ändern oder wenn dem ein -Objekt hinzugefügt wird. Die -Methode wird implizit aufgerufen, wenn Sie die folgenden Methoden aufrufen: die -Methode des -Objekts, die -Methode des -Objekts oder die BeginEdit DataRow DataRowCollection EndEdit AcceptChanges DataRow AcceptChanges DataTable CancelEdit -Methode.

Im Gegensatz dazu gibt die DataRowVersion Current -Enumeration die Version der Daten zurück, nachdem EndEdit die -Methode aufgerufen wurde.

Das version -Argument sollte nicht mit der -Eigenschaft verwechselt RowState werden. Das -Argument beschreibt den Zustand der Daten, die in der Spalte relativ zum ursprünglichen version Wert der Spalte enthalten sind. Die RowState -Eigenschaft beschreibt den Status der gesamten Zeile relativ zum übergeordneten DataTable .

Wenn Sie die -Eigenschaft festlegen, wird eine Ausnahme generiert, wenn im Ereignis eine Ausnahme ColumnChanging auftritt.

Wenn es sich um eine sofortige Bearbeitung handelt, finden Sie weitere Informationen zu EndEdit den Ausnahmen, die generiert werden können.

Gilt für

Item[String, DataRowVersion]

Ruft die angegebene Version der Daten aus der benannten Spalte ab.

public:
 property System::Object ^ default[System::String ^, System::Data::DataRowVersion] { System::Object ^ get(System::String ^ columnName, System::Data::DataRowVersion version); };
public object this[string columnName, System.Data.DataRowVersion version] { get; }
member this.Item(string * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(columnName As String, version As DataRowVersion) As Object

Parameter

columnName
String

Der Name der Spalte.

version
DataRowVersion

Einer der DataRowVersion-Werte, der die gewünschte Zeilenversion angibt. Mögliche Werte sind Default, Original, Current und Proposed.

Eigenschaftswert

Object

Eine Instanz von Object, die die Daten enthält.

Ausnahmen

Die durch columnName angegebene Spalte kann nicht gefunden werden.

Der Datentyp des Werts und der Datentyp der Spalte stimmen nicht überein.

In der Zeile ist diese Version der Daten nicht enthalten.

Die Zeile wurde gelöscht.

Beispiele

Im folgenden Beispiel wird die aktuelle Version der Daten in einer zelle, auf die geklickt wurde, eines -Steuerelements DataGrid ruft.

private void DataGrid1_Click(object sender, System.EventArgs e)
{
    // Set the current row using the RowNumber
    // property of the CurrentCell.
    DataRow currentRow =
        ((DataTable)(DataGrid1.DataSource)).
        Rows[DataGrid1.CurrentCell.RowNumber];

    // Print the current value of the column named "FirstName."
    Console.WriteLine(currentRow["FirstName",
        DataRowVersion.Current]);
}
Private Sub DataGrid1_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    ' Set the current row using the RowNumber property 
    ' of the CurrentCell.
    Dim currentRow As DataRow = _
        CType(DataGrid1.DataSource, DataTable). _
        Rows(DataGrid1.CurrentCell.RowNumber)

    ' Print the current value of the column named "FirstName."
    Console.WriteLine(currentRow("FirstName", _
        DataRowVersion.Current).ToString())
End Sub

Hinweise

Die Version sollte nicht mit der -Eigenschaft verwechselt RowState werden. Das -Argument beschreibt den Zustand der Daten, die in der Spalte relativ zum ursprünglichen version Wert der Spalte enthalten sind. Die RowState -Eigenschaft beschreibt den Status der gesamten Zeile relativ zum übergeordneten DataTable .

Wenn Sie die -Eigenschaft festlegen, wird eine Ausnahme generiert, wenn im Ereignis eine Ausnahme ColumnChanging auftritt.

Wenn es sich um eine sofortige Bearbeitung handelt, finden Sie weitere Informationen zu EndEdit den Ausnahmen, die generiert werden können.

Siehe auch

Gilt für