DataRow.Item[] Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta i dati memorizzati in una colonna specificata.
Overload
Item[DataColumn] |
Ottiene o imposta i dati archiviati nell'oggetto DataColumn specificato. |
Item[Int32] |
Ottiene o imposta i dati archiviati nella colonna specificata in base all'indice. |
Item[String] |
Ottiene o imposta i dati archiviati nella colonna specificata in base al nome. |
Item[DataColumn, DataRowVersion] |
Ottiene la versione specificata dei dati archiviati nell'oggetto DataColumn specificato. |
Item[Int32, DataRowVersion] |
Ottiene i dati archiviati nella colonna specificata in base all'indice e alla versione dei dati da recuperare. |
Item[String, DataRowVersion] |
Ottiene la versione specificata dei dati archiviati nella colonna specificata. |
Item[DataColumn]
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
Ottiene o imposta i dati archiviati nell'oggetto DataColumn specificato.
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
Parametri
- column
- DataColumn
Oggetto DataColumn che contiene i dati.
Valore della proprietà
Oggetto Object che contiene i dati dell'evento.
Eccezioni
La colonna non appartiene a questa tabella.
column
è Null.
Si è tentato di impostare un valore in una riga eliminata.
Mancata corrispondenza tra i tipi di dati del valore e della colonna.
Esempio
Negli esempi seguenti viene illustrato l'uso della Item[] proprietà per ottenere e impostare il valore di un indice di colonna specifico. Il primo esempio ottiene il valore della prima colonna in qualsiasi riga su cui un utente fa clic in un DataGrid controllo. Il secondo imposta un valore passato come argomento al metodo .
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
Commenti
Quando si imposta la proprietà , viene generata un'eccezione se si verifica un'eccezione nell'evento ColumnChanging .
Se si tratta di una modifica immediata, vedere EndEdit per le eccezioni che è possibile generare.
Si applica a
Item[Int32]
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
Ottiene o imposta i dati archiviati nella colonna specificata in base all'indice.
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
Parametri
- columnIndex
- Int32
Indice in base zero della colonna.
Valore della proprietà
Oggetto Object che contiene i dati dell'evento.
Eccezioni
Viene generata quando si tenta di impostare un valore in una riga eliminata.
L'argomento columnIndex
non è compreso nell'intervallo.
Viene generata quando si imposta il valore e la classe Type del nuovo valore non corrisponde alla proprietà DataType.
Esempio
Negli esempi seguenti viene illustrato l'uso della Item[] proprietà per ottenere e impostare il valore di un indice di colonna specifico. Il primo esempio ottiene il valore della prima colonna in qualsiasi riga su cui un utente fa clic in un DataGrid controllo.
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
Commenti
Quando si imposta la proprietà , viene generata un'eccezione se si verifica un'eccezione nell'evento ColumnChanging .
Se si tratta di una modifica, vedere EndEdit per le eccezioni che è possibile generare.
Si applica a
Item[String]
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
Ottiene o imposta i dati archiviati nella colonna specificata in base al nome.
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
Parametri
- columnName
- String
Nome della colonna.
Valore della proprietà
Oggetto Object che contiene i dati dell'evento.
Eccezioni
Impossibile trovare la colonna specificata dal parametro columnName
.
Viene generata quando si tenta di impostare un valore in una riga eliminata.
Viene generata quando si imposta un valore e la relativa classe Type non corrisponde alla proprietà DataType.
Si verifica quando si tenta di immettere un valore null in una colonna la cui proprietà AllowDBNull è impostata su false
.
Esempio
Negli esempi seguenti viene illustrato l'uso della Item[] proprietà per ottenere e impostare il valore di un indice di colonna specifico. Il primo esempio ottiene il valore della prima colonna in qualsiasi riga su cui un utente fa clic in un DataGrid controllo. Il secondo imposta un valore passato come argomento al metodo .
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
Commenti
Quando si imposta la proprietà , viene generata un'eccezione se si verifica un'eccezione nell'evento ColumnChanging .
Se si tratta di una modifica immediata, vedere EndEdit per le eccezioni che è possibile generare.
Si applica a
Item[DataColumn, DataRowVersion]
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
Ottiene la versione specificata dei dati archiviati nell'oggetto DataColumn specificato.
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
Parametri
- column
- DataColumn
Oggetto DataColumn che contiene informazioni sulla colonna.
- version
- DataRowVersion
Uno dei valori dell'enumerazione DataRowVersion che specifica la versione della riga desiderata. I valori consentiti sono Default
, Original
, Current
e Proposed
.
Valore della proprietà
Oggetto Object che contiene i dati dell'evento.
Eccezioni
La colonna non appartiene a questa tabella.
L'argomento column
è null.
La riga non dispone di questa versione dei dati.
Esempio
Nell'esempio seguente viene restituito il valore corrente di una cella selezionata nel DataGrid controllo .
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
Commenti
L'oggetto version
non deve essere confuso con la RowState proprietà . L'argomento version
descrive lo stato dei dati contenuti nella colonna rispetto al valore originale della colonna.
Quando si imposta la proprietà , viene generata un'eccezione se si verifica un'eccezione nell'evento ColumnChanging .
Se si tratta di una modifica immediata, vedere EndEdit per le eccezioni che è possibile generare.
Vedi anche
Si applica a
Item[Int32, DataRowVersion]
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
Ottiene i dati archiviati nella colonna specificata in base all'indice e alla versione dei dati da recuperare.
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
Parametri
- columnIndex
- Int32
Indice in base zero della colonna.
- version
- DataRowVersion
Uno dei valori dell'enumerazione DataRowVersion che specifica la versione della riga desiderata. I valori consentiti sono Default
, Original
, Current
e Proposed
.
Valore della proprietà
Oggetto Object che contiene i dati dell'evento.
Eccezioni
L'argomento columnIndex
non è compreso nell'intervallo.
Mancata corrispondenza tra i tipi di dati del valore e della colonna.
La riga non dispone di questa versione dei dati.
Si è tentato di impostare un valore in una riga eliminata.
Esempio
Nell'esempio seguente viene restituito il valore corrente di una colonna tramite la Item[] proprietà dell'oggetto DataRow .
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
Commenti
È possibile creare o aggiornare una riga solo dopo aver chiamato il BeginEdit metodo . Analogamente, è necessario chiamare il metodo per eseguire il EndEdit commit della modifica. Dopo aver chiamato il EndEdit metodo e prima di chiamare il AcceptChanges metodo, vengono archiviate le rappresentazioni interne dei valori originali e nuovi proposti. Pertanto, finché non si chiama AcceptChanges, è possibile usare l'argomento version
per specificare la versione del valore di una colonna necessaria, DataRowVersion.Original
ovvero o DataRowVersion.Proposed
. Tuttavia, non appena si chiama il AcceptChanges metodo , la versione della colonna viene ripristinata a DataRowVersion.Original
. Se la riga è nuova, è anche possibile passare DataRowVersion.Default
per il parametro per recuperare il valore predefinito della colonna. Quando si passa , la proprietà restituisce DataRowVersion.Current
il valore corrente, indipendentemente dalla relativa versione.
Nota
Il metodo viene chiamato in modo implicito quando si modifica il valore di un controllo associato a dati o quando viene aggiunto un oggetto a DataRowCollection. Il BeginEditEndEdit metodo viene chiamato in modo implicito quando si chiamano i metodi seguenti: il AcceptChanges metodo dell'oggettoDataRow, il AcceptChanges metodo dell'oggetto DataTable o il CancelEdit metodo .DataRow
Al contrario, l'enumerazione DataRowVersion restituisce Current
la versione dei dati dopo la chiamata del EndEdit metodo.
L'argomento version
non deve essere confuso con la RowState proprietà . L'argomento version
descrive lo stato dei dati contenuti nella colonna rispetto al valore originale della colonna. La RowState proprietà descrive lo stato dell'intera riga rispetto al relativo elemento padre DataTable.
Quando si imposta la proprietà , viene generata un'eccezione se si verifica un'eccezione nell'evento ColumnChanging .
Se si tratta di una modifica immediata, vedere EndEdit per le eccezioni che è possibile generare.
Si applica a
Item[String, DataRowVersion]
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
- Origine:
- DataRow.cs
Ottiene la versione specificata dei dati archiviati nella colonna specificata.
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
Parametri
- columnName
- String
Nome della colonna.
- version
- DataRowVersion
Uno dei valori dell'enumerazione DataRowVersion che specifica la versione della riga desiderata. I valori consentiti sono Default
, Original
, Current
e Proposed
.
Valore della proprietà
Oggetto Object che contiene i dati dell'evento.
Eccezioni
Impossibile trovare la colonna specificata dal parametro columnName
.
Mancata corrispondenza tra i tipi di dati del valore e della colonna.
La riga non dispone di questa versione dei dati.
La riga è stata eliminata.
Esempio
Nell'esempio seguente viene recuperata la versione corrente dei dati in una cella selezionata di un DataGrid controllo .
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
Commenti
La versione non deve essere confusa con la RowState proprietà . L'argomento version
descrive lo stato dei dati contenuti nella colonna rispetto al valore originale della colonna. La RowState proprietà descrive lo stato dell'intera riga rispetto al relativo elemento padre DataTable.
Quando si imposta la proprietà , viene generata un'eccezione se si verifica un'eccezione nell'evento ColumnChanging .
Se si tratta di una modifica immediata, vedere EndEdit per le eccezioni che è possibile generare.