DataRow.Item[String, DataRowVersion] DataRow.Item[String, DataRowVersion] DataRow.Item[String, DataRowVersion] DataRow.Item[String, DataRowVersion] Property

Definizione

Overload

Item[DataColumn] Item[DataColumn] Item[DataColumn] Item[DataColumn]

Ottiene o imposta i dati archiviati nell'oggetto DataColumn specificato.Gets or sets the data stored in the specified DataColumn.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ottiene o imposta i dati archiviati nella colonna specificata in base all'indice.Gets or sets the data stored in the column specified by index.

Item[String] Item[String] Item[String] Item[String]

Ottiene o imposta i dati archiviati nella colonna specificata in base al nome.Gets or sets the data stored in the column specified by name.

Item[DataColumn, DataRowVersion] Item[DataColumn, DataRowVersion] Item[DataColumn, DataRowVersion] Item[DataColumn, DataRowVersion]

Ottiene la versione specificata dei dati archiviati nell'oggetto DataColumn specificato.Gets the specified version of data stored in the specified DataColumn.

Item[Int32, DataRowVersion] Item[Int32, DataRowVersion] Item[Int32, DataRowVersion] Item[Int32, DataRowVersion]

Ottiene i dati archiviati nella colonna specificata in base all'indice e alla versione dei dati da recuperare.Gets the data stored in the column, specified by index and version of the data to retrieve.

Item[String, DataRowVersion] Item[String, DataRowVersion] Item[String, DataRowVersion] Item[String, DataRowVersion]

Ottiene la versione specificata dei dati archiviati nella colonna specificata.Gets the specified version of data stored in the named column.

Item[DataColumn] Item[DataColumn] Item[DataColumn] Item[DataColumn]

Ottiene o imposta i dati archiviati nell'oggetto DataColumn specificato.Gets or sets the data stored in the specified 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 DataColumn DataColumn DataColumn

Oggetto DataColumn che contiene i dati.A DataColumn that contains the data.

Valore della proprietà

Oggetto Object che contiene i dati dell'evento.An Object that contains the data.

Eccezioni

La colonna non appartiene a questa tabella.The column does not belong to this table.

Si è tentato di impostare un valore in una riga eliminata.An attempt was made to set a value on a deleted row.

Mancata corrispondenza tra i tipi di dati del valore e della colonna.The data types of the value and the column do not match.

Esempi

Negli esempi seguenti viene illustrato l'utilizzo della Item[String, DataRowVersion] proprietà per ottenere e impostare il valore di un indice di colonna specifico.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. Nel primo esempio viene ottenuto il valore della prima colonna in una riga che un utente fa clic in DataGrid un controllo.The first example gets the value of the first column in any row that a user clicks in a DataGrid control. Il secondo imposta un valore passato come argomento al metodo.The second sets a value passed as an argument to the method.

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' ColumnChanging evento.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Se si tratta di una modifica immediata, EndEdit vedere per le eccezioni che possono essere generate.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ottiene o imposta i dati archiviati nella colonna specificata in base all'indice.Gets or sets the data stored in the column specified by index.

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 Int32 Int32 Int32

Indice in base zero della colonna.The zero-based index of the column.

Valore della proprietà

Oggetto Object che contiene i dati dell'evento.An Object that contains the data.

Eccezioni

Viene generata quando si tenta di impostare un valore in una riga eliminata.Occurs when you try to set a value on a deleted row.

L'argomento columnIndex non è compreso nell'intervallo.The columnIndex argument is out of range.

Viene generata quando si imposta il valore e la classe Type del nuovo valore non corrisponde alla proprietà DataType.Occurs when you set the value and the new value's Type does not match DataType.

Esempi

Negli esempi seguenti viene illustrato l'utilizzo della Item[String, DataRowVersion] proprietà per ottenere e impostare il valore di un indice di colonna specifico.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. Nel primo esempio viene ottenuto il valore della prima colonna in una riga che un utente fa clic in DataGrid un controllo.The first example gets the value of the first column in any row that a user clicks in a DataGrid control.

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' ColumnChanging evento.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Se si tratta di una modifica, EndEdit vedere per le eccezioni che possono essere generate.If this is an edit, see EndEdit for the exceptions that can be generated.

Item[String] Item[String] Item[String] Item[String]

Ottiene o imposta i dati archiviati nella colonna specificata in base al nome.Gets or sets the data stored in the column specified by name.

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 String String String

Nome della colonna.The name of the column.

Valore della proprietà

Oggetto Object che contiene i dati dell'evento.An Object that contains the data.

Eccezioni

Impossibile trovare la colonna specificata dal parametro columnName.The column specified by columnName cannot be found.

Viene generata quando si tenta di impostare un valore in una riga eliminata.Occurs when you try to set a value on a deleted row.

Viene generata quando si imposta un valore e la relativa classe Type non corrisponde alla proprietà DataType.Occurs when you set a value and its Type does not match DataType.

Si verifica quando si tenta di immettere un valore null in una colonna la cui proprietà AllowDBNull è impostata su false.Occurs when you try to insert a null value into a column where AllowDBNull is set to false.

Esempi

Negli esempi seguenti viene illustrato l'utilizzo della Item[String, DataRowVersion] proprietà per ottenere e impostare il valore di un indice di colonna specifico.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. Nel primo esempio viene ottenuto il valore della prima colonna in una riga che un utente fa clic in DataGrid un controllo.The first example gets the value of the first column in any row that a user clicks in a DataGrid control. Il secondo imposta un valore passato come argomento al metodo.The second sets a value passed as an argument to the method.

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' ColumnChanging evento.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Se si tratta di una modifica immediata, EndEdit vedere per le eccezioni che possono essere generate.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[DataColumn, DataRowVersion] Item[DataColumn, DataRowVersion] Item[DataColumn, DataRowVersion] Item[DataColumn, DataRowVersion]

Ottiene la versione specificata dei dati archiviati nell'oggetto DataColumn specificato.Gets the specified version of data stored in the specified 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 DataColumn DataColumn DataColumn

Oggetto DataColumn che contiene informazioni sulla colonna.A DataColumn that contains information about the column.

version
DataRowVersion DataRowVersion DataRowVersion DataRowVersion

Uno dei valori dell'enumerazione DataRowVersion che specifica la versione della riga desiderata.One of the DataRowVersion values that specifies the row version that you want. I valori consentiti sono Default, Original, Current e Proposed.Possible values are Default, Original, Current, and Proposed.

Valore della proprietà

Oggetto Object che contiene i dati dell'evento.An Object that contains the data.

Eccezioni

La colonna non appartiene a questa tabella.The column does not belong to the table.

L'argomento column è null.The column argument contains null.

La riga non dispone di questa versione dei dati.The row does not have this version of data.

Esempi

Nell'esempio seguente viene ottenuto il valore corrente di una cella su cui è DataGrid stato fatto clic nel controllo.The following example gets the current value of a clicked cell in the DataGrid control.

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

Non deve essere confuso con la RowState proprietà. versionThe version should not be confused with the RowState property. L' version argomento descrive lo stato dei dati contenuti nella colonna rispetto al valore originale della colonna.The version argument describes the state of the data that is contained by the column relative to the column's original value.

Quando si imposta la proprietà, viene generata un'eccezione se si verifica un'eccezione nell' ColumnChanging evento.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Se si tratta di una modifica immediata, EndEdit vedere per le eccezioni che possono essere generate.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Vedi anche

Item[Int32, DataRowVersion] Item[Int32, DataRowVersion] Item[Int32, DataRowVersion] Item[Int32, DataRowVersion]

Ottiene i dati archiviati nella colonna specificata in base all'indice e alla versione dei dati da recuperare.Gets the data stored in the column, specified by index and version of the data to retrieve.

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 Int32 Int32 Int32

Indice in base zero della colonna.The zero-based index of the column.

version
DataRowVersion DataRowVersion DataRowVersion DataRowVersion

Uno dei valori dell'enumerazione DataRowVersion che specifica la versione della riga desiderata.One of the DataRowVersion values that specifies the row version that you want. I valori consentiti sono Default, Original, Current e Proposed.Possible values are Default, Original, Current, and Proposed.

Valore della proprietà

Oggetto Object che contiene i dati dell'evento.An Object that contains the data.

Eccezioni

L'argomento columnIndex non è compreso nell'intervallo.The columnIndex argument is out of range.

Mancata corrispondenza tra i tipi di dati del valore e della colonna.The data types of the value and the column do not match.

La riga non dispone di questa versione dei dati.The row does not have this version of data.

Si è tentato di impostare un valore in una riga eliminata.An attempt was made to set a value on a deleted row.

Esempi

Nell'esempio seguente viene ottenuto il valore corrente di una colonna tramite Item[String, DataRowVersion] la proprietà DataRow dell'oggetto.The following example gets the current value of a column through the Item[String, DataRowVersion] property of the DataRow object.

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. in modo analogo, è necessario chiamare il EndEdit metodo per eseguire il commit della modifica.You can only create or update a row after you call the BeginEdit method; similarly, the EndEdit method must be called to commit the edit. Dopo aver chiamato il EndEdit metodo e prima di chiamare il AcceptChanges metodo, vengono archiviate le rappresentazioni interne dei valori originali e nuovi proposti.After you call the EndEdit method, and before you call the AcceptChanges method, internal representations of the original and new proposed values are stored. Pertanto, finché non si chiama AcceptChanges, è possibile usare l' version argomento per specificare la versione del valore di una colonna necessaria, DataRowVersion.Original ovvero o DataRowVersion.Proposed.Therefore, until you call the AcceptChanges, you can use the version argument to specify which version of a column's value you need, either the DataRowVersion.Original or DataRowVersion.Proposed. Tuttavia, non appena si chiama il AcceptChanges metodo, la versione della colonna viene ripristinata. DataRowVersion.OriginalHowever, as soon as you call the AcceptChanges method, the version of the column reverts to DataRowVersion.Original. Se la riga è nuova, è anche possibile passare DataRowVersion.Default per il parametro per recuperare il valore predefinito della colonna.If the row is new, you can also pass DataRowVersion.Default for the parameter to retrieve the column's default value. Quando si DataRowVersion.Currentpassa, la proprietà restituisce il valore corrente, a prescindere dalla versione.When passing DataRowVersion.Current, the property returns the current value, whatever its version may be.

Nota

Il BeginEdit metodo viene chiamato in modo implicito quando si modifica il valore di un controllo associato a dati o DataRow quando un DataRowCollectionoggetto viene aggiunto a; EndEdit il metodo viene AcceptChanges chiamato in modo implicito quando si chiamano i metodi seguenti: Metodo dell' DataRow oggetto, il AcceptChanges metodo dell' DataTable oggetto o il CancelEdit metodo.The BeginEdit method is called implicitly when you change the value of a data-bound control or when a DataRow object is added to the DataRowCollection; the EndEdit method is called implicitly when you call the following methods: the AcceptChanges method of the DataRow object, the AcceptChanges method of the DataTable object, or the CancelEdit method.

Al contrario, l' DataRowVersion enumerazione Current restituisce la versione dei dati dopo che è EndEdit stato chiamato il metodo.By contrast, the DataRowVersion enumeration Current returns the version of the data after the EndEdit method has been called.

L' version argomento non deve essere confuso con la RowState proprietà.The version argument should not be confused with the RowState property. L' version argomento descrive lo stato dei dati contenuti nella colonna rispetto al valore originale della colonna.The version argument describes the state of the data that is contained by the column relative to the column's original value. La RowState proprietà descrive lo stato dell'intera riga rispetto al relativo elemento padre DataTable.The RowState property describes the state of the whole row relative to its parent DataTable.

Quando si imposta la proprietà, viene generata un'eccezione se si verifica un'eccezione nell' ColumnChanging evento.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Se si tratta di una modifica immediata, EndEdit vedere per le eccezioni che possono essere generate.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[String, DataRowVersion] Item[String, DataRowVersion] Item[String, DataRowVersion] Item[String, DataRowVersion]

Ottiene la versione specificata dei dati archiviati nella colonna specificata.Gets the specified version of data stored in the named column.

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 String String String

Nome della colonna.The name of the column.

version
DataRowVersion DataRowVersion DataRowVersion DataRowVersion

Uno dei valori dell'enumerazione DataRowVersion che specifica la versione della riga desiderata.One of the DataRowVersion values that specifies the row version that you want. I valori consentiti sono Default, Original, Current e Proposed.Possible values are Default, Original, Current, and Proposed.

Valore della proprietà

Oggetto Object che contiene i dati dell'evento.An Object that contains the data.

Eccezioni

Impossibile trovare la colonna specificata dal parametro columnName.The column specified by columnName cannot be found.

Mancata corrispondenza tra i tipi di dati del valore e della colonna.The data types of the value and the column do not match.

La riga non dispone di questa versione dei dati.The row does not have this version of data.

Esempi

Nell'esempio seguente viene ottenuta la versione corrente dei dati in una cella di un DataGrid controllo su cui è stato fatto clic.The following example gets the current version of data at a clicked cell of a DataGrid control.

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 RowState la proprietà.The version should not be confused with the RowState property. L' version argomento descrive lo stato dei dati contenuti nella colonna rispetto al valore originale della colonna.The version argument describes the state of the data that is contained by the column relative to the column's original value. La RowState proprietà descrive lo stato dell'intera riga rispetto al relativo elemento padre DataTable.The RowState property describes the state of the whole row relative to its parent DataTable.

Quando si imposta la proprietà, viene generata un'eccezione se si verifica un'eccezione nell' ColumnChanging evento.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Se si tratta di una modifica immediata, EndEdit vedere per le eccezioni che possono essere generate.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Vedi anche

Si applica a