DataRow.Item[] Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define dados armazenados em uma coluna especificada.
Sobrecargas
Item[DataColumn] |
Obtém ou define os dados armazenados no DataColumnespecificado. |
Item[Int32] |
Obtém ou define os dados armazenados na coluna especificada pelo índice. |
Item[String] |
Obtém ou define os dados armazenados na coluna especificada pelo nome. |
Item[DataColumn, DataRowVersion] |
Obtém a versão especificada dos dados armazenados no DataColumnespecificado. |
Item[Int32, DataRowVersion] |
Obtém os dados armazenados na coluna, especificados pelo índice e pela versão dos dados a serem recuperados. |
Item[String, DataRowVersion] |
Obtém a versão especificada dos dados armazenados na coluna nomeada. |
Item[DataColumn]
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
Obtém ou define os dados armazenados no DataColumnespecificado.
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
Parâmetros
- column
- DataColumn
Um DataColumn que contém os dados.
Valor da propriedade
Um Object que contém os dados.
Exceções
A coluna não pertence a esta tabela.
O column
é nulo.
Foi feita uma tentativa de definir um valor em uma linha excluída.
Os tipos de dados do valor e da coluna não correspondem.
Exemplos
Os exemplos a seguir demonstram o uso da propriedade Item[] para obter e definir o valor de um índice de coluna específico. O primeiro exemplo obtém o valor da primeira coluna em qualquer linha que um usuário clica em um controle DataGrid. O segundo define um valor passado como um argumento para o método.
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
Comentários
Quando você define a propriedade, uma exceção é gerada se ocorrer uma exceção no evento ColumnChanging.
Se essa for uma edição imediata, consulte EndEdit para as exceções que podem ser geradas.
Aplica-se a
Item[Int32]
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
Obtém ou define os dados armazenados na coluna especificada pelo índice.
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
Parâmetros
- columnIndex
- Int32
O índice baseado em zero da coluna.
Valor da propriedade
Um Object que contém os dados.
Exceções
Ocorre quando você tenta definir um valor em uma linha excluída.
O argumento columnIndex
está fora do intervalo.
Exemplos
Os exemplos a seguir demonstram o uso da propriedade Item[] para obter e definir o valor de um índice de coluna específico. O primeiro exemplo obtém o valor da primeira coluna em qualquer linha que um usuário clica em um controle DataGrid.
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
Comentários
Quando você define a propriedade, uma exceção é gerada se ocorrer uma exceção no evento ColumnChanging.
Se essa for uma edição, consulte EndEdit para as exceções que podem ser geradas.
Aplica-se a
Item[String]
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
Obtém ou define os dados armazenados na coluna especificada pelo 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
Parâmetros
- columnName
- String
O nome da coluna.
Valor da propriedade
Um Object que contém os dados.
Exceções
A coluna especificada por columnName
não pode ser encontrada.
Ocorre quando você tenta definir um valor em uma linha excluída.
Ocorre quando você tenta inserir um valor nulo em uma coluna em que AllowDBNull é definido como false
.
Exemplos
Os exemplos a seguir demonstram o uso da propriedade Item[] para obter e definir o valor de um índice de coluna específico. O primeiro exemplo obtém o valor da primeira coluna em qualquer linha que um usuário clica em um controle DataGrid. O segundo define um valor passado como um argumento para o método.
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
Comentários
Quando você define a propriedade, uma exceção é gerada se ocorrer uma exceção no evento ColumnChanging.
Se essa for uma edição imediata, consulte EndEdit para as exceções que podem ser geradas.
Aplica-se a
Item[DataColumn, DataRowVersion]
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
Obtém a versão especificada dos dados armazenados no DataColumnespecificado.
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
Parâmetros
- column
- DataColumn
Um DataColumn que contém informações sobre a coluna.
- version
- DataRowVersion
Um dos valores DataRowVersion que especifica a versão de linha desejada. Os valores possíveis são Default
, Original
, Current
e Proposed
.
Valor da propriedade
Um Object que contém os dados.
Exceções
A coluna não pertence à tabela.
O argumento column
contém nulo.
A linha não tem essa versão de dados.
Exemplos
O exemplo a seguir obtém o valor atual de uma célula clicada no controle DataGrid.
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
Comentários
O version
não deve ser confundido com a propriedade RowState. O argumento version
descreve o estado dos dados contidos pela coluna em relação ao valor original da coluna.
Quando você define a propriedade, uma exceção é gerada se ocorrer uma exceção no evento ColumnChanging.
Se essa for uma edição imediata, consulte EndEdit para as exceções que podem ser geradas.
Confira também
Aplica-se a
Item[Int32, DataRowVersion]
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
Obtém os dados armazenados na coluna, especificados pelo índice e pela versão dos dados a serem recuperados.
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
Parâmetros
- columnIndex
- Int32
O índice baseado em zero da coluna.
- version
- DataRowVersion
Um dos valores DataRowVersion que especifica a versão de linha desejada. Os valores possíveis são Default
, Original
, Current
e Proposed
.
Valor da propriedade
Um Object que contém os dados.
Exceções
O argumento columnIndex
está fora do intervalo.
Os tipos de dados do valor e da coluna não correspondem.
A linha não tem essa versão de dados.
Foi feita uma tentativa de definir um valor em uma linha excluída.
Exemplos
O exemplo a seguir obtém o valor atual de uma coluna por meio da propriedade Item[] do objeto 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
Comentários
Você só pode criar ou atualizar uma linha depois de chamar o método BeginEdit; da mesma forma, o método EndEdit deve ser chamado para confirmar a edição. Depois de chamar o método EndEdit e antes de chamar o método AcceptChanges, as representações internas dos valores originais e novos propostos serão armazenadas. Portanto, até chamar o AcceptChanges, você poderá usar o argumento version
para especificar qual versão do valor de uma coluna você precisa, seja o DataRowVersion.Original
ou DataRowVersion.Proposed
. No entanto, assim que você chama o método AcceptChanges, a versão da coluna é revertida para DataRowVersion.Original
. Se a linha for nova, você também poderá passar DataRowVersion.Default
para que o parâmetro recupere o valor padrão da coluna. Ao passar DataRowVersion.Current
, a propriedade retorna o valor atual, qualquer que seja sua versão.
Nota
O método BeginEdit é chamado implicitamente quando você altera o valor de um controle associado a dados ou quando um objeto DataRow é adicionado ao DataRowCollection; o método EndEdit é chamado implicitamente quando você chama os seguintes métodos: o método AcceptChanges do objeto DataRow, o método AcceptChanges do objeto DataTable ou o método CancelEdit.
Por outro lado, a enumeração DataRowVersionCurrent
retorna a versão dos dados após o método EndEdit ter sido chamado.
O argumento version
não deve ser confundido com a propriedade RowState. O argumento version
descreve o estado dos dados contidos pela coluna em relação ao valor original da coluna. A propriedade RowState descreve o estado de toda a linha em relação ao DataTablepai.
Quando você define a propriedade, uma exceção é gerada se ocorrer uma exceção no evento ColumnChanging.
Se essa for uma edição imediata, consulte EndEdit para as exceções que podem ser geradas.
Aplica-se a
Item[String, DataRowVersion]
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
- Origem:
- DataRow.cs
Obtém a versão especificada dos dados armazenados na coluna nomeada.
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
Parâmetros
- columnName
- String
O nome da coluna.
- version
- DataRowVersion
Um dos valores DataRowVersion que especifica a versão de linha desejada. Os valores possíveis são Default
, Original
, Current
e Proposed
.
Valor da propriedade
Um Object que contém os dados.
Exceções
A coluna especificada por columnName
não pode ser encontrada.
Os tipos de dados do valor e da coluna não correspondem.
A linha não tem essa versão de dados.
A linha foi excluída.
Exemplos
O exemplo a seguir obtém a versão atual dos dados em uma célula clicada de um controle DataGrid.
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
Comentários
A versão não deve ser confundida com a propriedade RowState. O argumento version
descreve o estado dos dados contidos pela coluna em relação ao valor original da coluna. A propriedade RowState descreve o estado de toda a linha em relação ao DataTablepai.
Quando você define a propriedade, uma exceção é gerada se ocorrer uma exceção no evento ColumnChanging.
Se essa for uma edição imediata, consulte EndEdit para as exceções que podem ser geradas.