DataRow.Item[] Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger data som lagras i en angiven kolumn.
Överlagringar
| Name | Description |
|---|---|
| Item[DataColumn] |
Hämtar eller anger data som lagras i den angivna DataColumn. |
| Item[Int32] |
Hämtar eller anger data som lagras i kolumnen som anges av indexet. |
| Item[String] |
Hämtar eller anger data som lagras i kolumnen som anges med namn. |
| Item[DataColumn, DataRowVersion] |
Hämtar den angivna versionen av data som lagras i den angivna DataColumn. |
| Item[Int32, DataRowVersion] |
Hämtar data som lagras i kolumnen, som anges av index och version av de data som ska hämtas. |
| Item[String, DataRowVersion] |
Hämtar den angivna versionen av data som lagras i den namngivna kolumnen. |
Item[DataColumn]
Hämtar eller anger data som lagras i den angivna DataColumn.
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
Parametrar
- column
- DataColumn
En DataColumn som innehåller data.
Egenskapsvärde
En Object som innehåller data.
Undantag
Kolumnen tillhör inte den här tabellen.
Är column null.
Ett försök gjordes att ange ett värde på en borttagen rad.
Datatyperna för värdet och kolumnen matchar inte.
Exempel
Följande exempel visar hur egenskapen används Item[] för att hämta och ange värdet för ett specifikt kolumnindex. Det första exemplet hämtar värdet för den första kolumnen på en rad som en användare klickar på i en DataGrid kontroll. Den andra anger ett värde som skickas som ett argument till metoden.
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
Kommentarer
När du anger egenskapen genereras ett undantag om ett undantag inträffar i ColumnChanging händelsen.
Om detta är en omedelbar redigering, se EndEdit för undantag som kan genereras.
Gäller för
Item[Int32]
Hämtar eller anger data som lagras i kolumnen som anges av indexet.
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
Parametrar
- columnIndex
- Int32
Kolumnens nollbaserade index.
Egenskapsvärde
En Object som innehåller data.
Undantag
Inträffar när du försöker ange ett värde på en borttagen rad.
Argumentet columnIndex ligger inom intervallet.
Exempel
Följande exempel visar hur egenskapen används Item[] för att hämta och ange värdet för ett specifikt kolumnindex. Det första exemplet hämtar värdet för den första kolumnen på en rad som en användare klickar på i en DataGrid kontroll.
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
Kommentarer
När du anger egenskapen genereras ett undantag om ett undantag inträffar i ColumnChanging händelsen.
Om det här är en redigering kan du läsa EndEdit om undantag som kan genereras.
Gäller för
Item[String]
Hämtar eller anger data som lagras i kolumnen som anges med namn.
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
Parametrar
- columnName
- String
Kolumnens namn.
Egenskapsvärde
En Object som innehåller data.
Undantag
Det går inte att hitta den kolumn som anges av columnName .
Inträffar när du försöker ange ett värde på en borttagen rad.
Inträffar när du försöker infoga ett null-värde i en kolumn där AllowDBNull är inställt på false.
Exempel
Följande exempel visar hur egenskapen används Item[] för att hämta och ange värdet för ett specifikt kolumnindex. Det första exemplet hämtar värdet för den första kolumnen på en rad som en användare klickar på i en DataGrid kontroll. Den andra anger ett värde som skickas som ett argument till metoden.
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
Kommentarer
När du anger egenskapen genereras ett undantag om ett undantag inträffar i ColumnChanging händelsen.
Om detta är en omedelbar redigering, se EndEdit för undantag som kan genereras.
Gäller för
Item[DataColumn, DataRowVersion]
Hämtar den angivna versionen av data som lagras i den angivna DataColumn.
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
Parametrar
- column
- DataColumn
En DataColumn som innehåller information om kolumnen.
- version
- DataRowVersion
Ett av de DataRowVersion värden som anger vilken radversion du vill ha. Möjliga värden är Default, Original, Currentoch Proposed.
Egenskapsvärde
En Object som innehåller data.
Undantag
Kolumnen tillhör inte tabellen.
Argumentet column innehåller null.
Raden har inte den här dataversionen.
Exempel
I följande exempel hämtas det aktuella värdet för en klickad cell i DataGrid kontrollen.
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
Kommentarer
Bör version inte förväxlas med RowState egenskapen. Argumentet version beskriver tillståndet för de data som finns i kolumnen i förhållande till kolumnens ursprungliga värde.
När du anger egenskapen genereras ett undantag om ett undantag inträffar i ColumnChanging händelsen.
Om detta är en omedelbar redigering, se EndEdit för undantag som kan genereras.
Se även
Gäller för
Item[Int32, DataRowVersion]
Hämtar data som lagras i kolumnen, som anges av index och version av de data som ska hämtas.
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
Parametrar
- columnIndex
- Int32
Kolumnens nollbaserade index.
- version
- DataRowVersion
Ett av de DataRowVersion värden som anger vilken radversion du vill ha. Möjliga värden är Default, Original, Currentoch Proposed.
Egenskapsvärde
En Object som innehåller data.
Undantag
Argumentet columnIndex ligger inom intervallet.
Datatyperna för värdet och kolumnen matchar inte.
Raden har inte den här dataversionen.
Ett försök gjordes att ange ett värde på en borttagen rad.
Exempel
I följande exempel hämtas det aktuella värdet för en kolumn via Item[] objektets DataRow egenskap.
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
Kommentarer
Du kan bara skapa eller uppdatera en rad när du anropar BeginEditEndEdit metoden. På samma sätt måste metoden anropas för att genomföra redigeringen. När du har anropat EndEdit metoden och innan du anropar AcceptChanges metoden lagras interna representationer av de ursprungliga och nya föreslagna värdena. Tills du anropar AcceptChangeskan du därför använda version argumentet för att ange vilken version av en kolumns värde du behöver, antingen DataRowVersion.Original eller DataRowVersion.Proposed. Men så fort du anropar AcceptChanges metoden återgår versionen av kolumnen till DataRowVersion.Original. Om raden är ny kan du också skicka DataRowVersion.Default för parametern för att hämta kolumnens standardvärde. När du skickar DataRowVersion.Currentreturnerar egenskapen det aktuella värdet, oavsett vilken version den har.
Note
Metoden BeginEdit anropas implicit när du ändrar värdet för en databunden kontroll eller när ett DataRow objekt läggs till i DataRowCollection. EndEdit Metoden anropas implicit när du anropar följande metoder: AcceptChanges -metoden DataRow för objektet, AcceptChanges -metoden DataTable för objektet eller CancelEdit metoden.
Däremot DataRowVersion returnerar uppräkningen Current versionen av data när EndEdit metoden har anropats.
Argumentet version bör inte förväxlas med RowState egenskapen. Argumentet version beskriver tillståndet för de data som finns i kolumnen i förhållande till kolumnens ursprungliga värde. Egenskapen RowState beskriver tillståndet för hela raden i förhållande till dess överordnade DataTable.
När du anger egenskapen genereras ett undantag om ett undantag inträffar i ColumnChanging händelsen.
Om detta är en omedelbar redigering, se EndEdit för undantag som kan genereras.
Gäller för
Item[String, DataRowVersion]
Hämtar den angivna versionen av data som lagras i den namngivna kolumnen.
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
Parametrar
- columnName
- String
Kolumnens namn.
- version
- DataRowVersion
Ett av de DataRowVersion värden som anger vilken radversion du vill ha. Möjliga värden är Default, Original, Currentoch Proposed.
Egenskapsvärde
En Object som innehåller data.
Undantag
Det går inte att hitta den kolumn som anges av columnName .
Datatyperna för värdet och kolumnen matchar inte.
Raden har inte den här dataversionen.
Raden har tagits bort.
Exempel
I följande exempel hämtas den aktuella versionen av data i en klickad cell i en DataGrid kontroll.
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
Kommentarer
Versionen bör inte förväxlas med RowState egenskapen . Argumentet version beskriver tillståndet för de data som finns i kolumnen i förhållande till kolumnens ursprungliga värde. Egenskapen RowState beskriver tillståndet för hela raden i förhållande till dess överordnade DataTable.
När du anger egenskapen genereras ett undantag om ett undantag inträffar i ColumnChanging händelsen.
Om detta är en omedelbar redigering, se EndEdit för undantag som kan genereras.