DataRow.Item[] Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen von Daten, die in einer angegebenen Spalte gespeichert sind.
Überlädt
Item[DataColumn] |
Ruft die in der angegebenen DataColumngespeicherten Daten ab oder legt sie fest. |
Item[Int32] |
Dient zum Abrufen oder Festlegen der Indizierung in der Spalte gespeicherten Daten. |
Item[String] |
Ruft die in der spalte gespeicherten Spalte mit dem Namen ab oder legt sie fest. |
Item[DataColumn, DataRowVersion] |
Ruft die angegebene Version der Daten ab, die in der angegebenen DataColumngespeichert sind. |
Item[Int32, DataRowVersion] |
Ruft die in der Spalte gespeicherten Daten ab, angegeben durch Index und Version der abzurufenden Daten. |
Item[String, DataRowVersion] |
Ruft die angegebene Version von Daten ab, die in der benannten Spalte gespeichert sind. |
Item[DataColumn]
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
Ruft die in der angegebenen DataColumngespeicherten Daten ab oder legt sie 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
Eine DataColumn, die die Daten enthält.
Eigenschaftswert
Eine 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.
Die Datentypen des Werts und der Spalte stimmen nicht überein.
Beispiele
Die folgenden Beispiele veranschaulichen die Verwendung der Item[]-Eigenschaft zum Abrufen und Festlegen des Werts eines bestimmten Spaltenindexes. Im ersten Beispiel wird der Wert der ersten Spalte in einer beliebigen Zeile abgerufen, auf die ein Benutzer in einem DataGrid-Steuerelement klickt. 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 eine Ausnahme im ColumnChanging-Ereignis auftritt.
Wenn dies eine sofortige Bearbeitung ist, lesen Sie EndEdit für die Ausnahmen, die generiert werden können.
Gilt für:
Item[Int32]
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
Dient zum Abrufen oder Festlegen der Indizierung in der Spalte gespeicherten Daten.
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
Eine Object, die die Daten enthält.
Ausnahmen
Tritt auf, wenn Sie versuchen, einen Wert für eine gelöschte Zeile festzulegen.
Das argument columnIndex
liegt außerhalb des zulässigen Bereichs.
Beispiele
Die folgenden Beispiele veranschaulichen die Verwendung der Item[]-Eigenschaft zum Abrufen und Festlegen des Werts eines bestimmten Spaltenindexes. Im ersten Beispiel wird der Wert der ersten Spalte in einer beliebigen Zeile abgerufen, auf die ein Benutzer in einem DataGrid-Steuerelement klickt.
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, lesen Sie EndEdit für die Ausnahmen, die generiert werden können.
Gilt für:
Item[String]
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
Ruft die in der spalte gespeicherten Spalte mit dem Namen ab oder legt sie 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
Eine Object, die die Daten enthält.
Ausnahmen
Die durch columnName
angegebene Spalte wurde nicht gefunden.
Tritt auf, wenn Sie versuchen, einen Wert für eine gelöschte Zeile festzulegen.
Tritt auf, wenn Sie versuchen, einen NULL-Wert in eine Spalte einzufügen, in der AllowDBNull auf false
festgelegt ist.
Beispiele
Die folgenden Beispiele veranschaulichen die Verwendung der Item[]-Eigenschaft zum Abrufen und Festlegen des Werts eines bestimmten Spaltenindexes. Im ersten Beispiel wird der Wert der ersten Spalte in einer beliebigen Zeile abgerufen, auf die ein Benutzer in einem DataGrid-Steuerelement klickt. 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, lesen Sie EndEdit für die Ausnahmen, die generiert werden können.
Gilt für:
Item[DataColumn, DataRowVersion]
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
Ruft die angegebene Version der Daten ab, die in der angegebenen DataColumngespeichert sind.
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 zur Spalte enthält.
- version
- DataRowVersion
Einer der DataRowVersion Werte, die die gewünschte Zeilenversion angibt. Mögliche Werte sind Default
, Original
, Current
und Proposed
.
Eigenschaftswert
Eine Object, die die Daten enthält.
Ausnahmen
Die Spalte gehört nicht zur Tabelle.
Das argument column
enthält NULL.
Die Zeile enthält diese Datenversion nicht.
Beispiele
Im folgenden Beispiel wird der aktuelle Wert einer geklickten Zelle im DataGrid-Steuerelement abgerufen.
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
Die version
sollte nicht mit der RowState-Eigenschaft verwechselt werden. Das argument version
beschreibt den Status der Daten, die in der Spalte relativ zum ursprünglichen Wert der Spalte enthalten sind.
Wenn Sie die Eigenschaft festlegen, wird eine Ausnahme generiert, wenn eine Ausnahme im ColumnChanging-Ereignis auftritt.
Wenn dies eine sofortige Bearbeitung ist, lesen Sie EndEdit für die Ausnahmen, die generiert werden können.
Weitere Informationen
Gilt für:
Item[Int32, DataRowVersion]
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
Ruft die in der Spalte gespeicherten Daten ab, angegeben durch Index und Version der abzurufenden Daten.
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, die die gewünschte Zeilenversion angibt. Mögliche Werte sind Default
, Original
, Current
und Proposed
.
Eigenschaftswert
Eine Object, die die Daten enthält.
Ausnahmen
Das argument columnIndex
liegt außerhalb des zulässigen Bereichs.
Die Datentypen des Werts und der Spalte stimmen nicht überein.
Die Zeile enthält diese Datenversion nicht.
Es wurde versucht, einen Wert für eine gelöschte Zeile festzulegen.
Beispiele
Im folgenden Beispiel wird der aktuelle Wert einer Spalte über die Item[]-Eigenschaft des DataRow-Objekts abgerufen.
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 nur eine Zeile erstellen oder aktualisieren, nachdem Sie die BeginEdit-Methode aufgerufen haben; Entsprechend muss die EndEdit-Methode aufgerufen werden, um die Bearbeitung zu übernehmen. 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 Aufrufen der AcceptChangesdas argument version
verwenden, um anzugeben, welche Version des benötigten Spaltenwerts, entweder die DataRowVersion.Original
oder DataRowVersion.Proposed
. Sobald Sie jedoch die AcceptChanges-Methode aufrufen, wird die Version der Spalte auf DataRowVersion.Original
zurückgesetzt. Wenn die Zeile neu ist, können Sie auch DataRowVersion.Default
für den Parameter übergeben, um den Standardwert der Spalte abzurufen. Bei der Übergabe DataRowVersion.Current
gibt die Eigenschaft den aktuellen Wert zurück, unabhängig davon, welche Version es sein kann.
Anmerkung
Die BeginEdit-Methode wird implizit aufgerufen, wenn Sie den Wert eines datengebundenen Steuerelements ändern oder ein DataRow-Objekt dem DataRowCollectionhinzugefügt wird; die EndEdit-Methode wird implizit aufgerufen, wenn Sie die folgenden Methoden aufrufen: die AcceptChanges-Methode des DataRow-Objekts, die AcceptChanges-Methode des DataTable-Objekts oder die CancelEdit-Methode.
Im Gegensatz dazu gibt die DataRowVersion Enumeration Current
die Version der Daten zurück, nachdem die EndEdit Methode aufgerufen wurde.
Das version
-Argument sollte nicht mit der RowState-Eigenschaft verwechselt werden. Das argument version
beschreibt den Status der Daten, die in der Spalte relativ zum ursprünglichen 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 eine Ausnahme im ColumnChanging-Ereignis auftritt.
Wenn dies eine sofortige Bearbeitung ist, lesen Sie EndEdit für die Ausnahmen, die generiert werden können.
Gilt für:
Item[String, DataRowVersion]
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
- Quelle:
- DataRow.cs
Ruft die angegebene Version von Daten ab, die in der benannten Spalte gespeichert sind.
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, die die gewünschte Zeilenversion angibt. Mögliche Werte sind Default
, Original
, Current
und Proposed
.
Eigenschaftswert
Eine Object, die die Daten enthält.
Ausnahmen
Die durch columnName
angegebene Spalte wurde nicht gefunden.
Die Datentypen des Werts und der Spalte stimmen nicht überein.
Die Zeile enthält diese Datenversion nicht.
Die Zeile wurde gelöscht.
Beispiele
Im folgenden Beispiel wird die aktuelle Datenversion in einer geklickten Zelle eines DataGrid-Steuerelements angezeigt.
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 RowState-Eigenschaft verwechselt werden. Das argument version
beschreibt den Status der Daten, die in der Spalte relativ zum ursprünglichen 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 eine Ausnahme im ColumnChanging-Ereignis auftritt.
Wenn dies eine sofortige Bearbeitung ist, lesen Sie EndEdit für die Ausnahmen, die generiert werden können.