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 archiviati in una colonna specificata.
Overload
| Nome | Descrizione |
|---|---|
| Item[DataColumn] |
Ottiene o imposta i dati archiviati nell'oggetto specificato DataColumn. |
| Item[Int32] |
Ottiene o imposta i dati archiviati nella colonna specificata dall'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 specificato DataColumn. |
| Item[Int32, DataRowVersion] |
Ottiene i dati archiviati nella colonna, specificati dall'indice e dalla versione dei dati da recuperare. |
| Item[String, DataRowVersion] |
Ottiene la versione specificata dei dati archiviati nella colonna denominata. |
Item[DataColumn]
Ottiene o imposta i dati archiviati nell'oggetto specificato 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
Parametri
- column
- DataColumn
Oggetto DataColumn contenente i dati.
Valore della proprietà
Oggetto Object che contiene i dati.
Eccezioni
La colonna non appartiene a questa tabella.
è column null.
È stato effettuato un tentativo di impostare un valore su una riga eliminata.
I tipi di dati del valore e la colonna non corrispondono.
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 selezionata da un utente 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]
Ottiene o imposta i dati archiviati nella colonna specificata dall'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.
Eccezioni
Si verifica quando si tenta di impostare un valore in una riga eliminata.
L'argomento non è compreso nell'intervallo columnIndex .
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 selezionata da un utente 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]
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.
Eccezioni
Impossibile trovare la colonna specificata da columnName .
Si verifica quando si tenta di impostare un valore in una riga eliminata.
Si verifica quando si tenta di inserire un valore Null in una colonna in cui AllowDBNull è impostato 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 selezionata da un utente 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]
Ottiene la versione specificata dei dati archiviati nell'oggetto specificato 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
Parametri
- column
- DataColumn
Oggetto DataColumn contenente informazioni sulla colonna.
- version
- DataRowVersion
Uno dei DataRowVersion valori che specifica la versione di riga desiderata. I valori consentiti sono Default, Original, Current e Proposed.
Valore della proprietà
Oggetto Object che contiene i dati.
Eccezioni
La colonna non appartiene alla tabella.
L'argomento column contiene null.
La riga non dispone di questa versione di 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]
Ottiene i dati archiviati nella colonna, specificati dall'indice e dalla 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 DataRowVersion valori che specifica la versione di riga desiderata. I valori consentiti sono Default, Original, Current e Proposed.
Valore della proprietà
Oggetto Object che contiene i dati.
Eccezioni
L'argomento non è compreso nell'intervallo columnIndex .
I tipi di dati del valore e la colonna non corrispondono.
La riga non dispone di questa versione di dati.
È stato effettuato un tentativo di impostare un valore su 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 rappresentazioni interne dei valori originali e nuovi proposti. Pertanto, fino a quando non si chiama AcceptChanges, è possibile usare l'argomento version per specificare la versione del valore di una colonna necessaria, ovvero DataRowVersion.Original o DataRowVersion.Proposed. Tuttavia, non appena si chiama il AcceptChanges metodo , la versione della colonna torna 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.Currentil valore corrente, indipendentemente dalla versione.
Note
Il metodo viene chiamato in modo implicito quando si modifica il valore di un controllo associato a dati o quando un DataRow oggetto viene aggiunto 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 .
Al contrario, l'enumerazione DataRowVersion restituisce Current la versione dei dati dopo che il EndEdit metodo è stato chiamato.
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]
Ottiene la versione specificata dei dati archiviati nella colonna denominata.
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 DataRowVersion valori che specifica la versione di riga desiderata. I valori consentiti sono Default, Original, Current e Proposed.
Valore della proprietà
Oggetto Object che contiene i dati.
Eccezioni
Impossibile trovare la colonna specificata da columnName .
I tipi di dati del valore e la colonna non corrispondono.
La riga non dispone di questa versione di 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.