DataRow.Item[] Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает данные, сохраненные в указанном столбце.
Перегрузки
Item[DataColumn] |
Возвращает или задает данные, сохраненные в указанном объекте DataColumn. |
Item[Int32] |
Возвращает или задает данные, сохраненные в столбце, указанном по индексу. |
Item[String] |
Возвращает или задает данные, сохраненные в столбце, указанном по имени. |
Item[DataColumn, DataRowVersion] |
Получает указанную версию данных, сохраненных в указанном объекте DataColumn. |
Item[Int32, DataRowVersion] |
Получает данные, сохраненные в столбце, указанном по индексу и версии извлекаемых данных. |
Item[String, DataRowVersion] |
Получает указанную версию данных, сохраненных в именованном столбце. |
Item[DataColumn]
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
Возвращает или задает данные, сохраненные в указанном объекте 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
Параметры
- column
- DataColumn
Значение типа DataColumn, содержащее данные.
Значение свойства
Объект Object, содержащий данные.
Исключения
Столбец не принадлежит этой таблице.
Значением параметра column
является null.
Была предпринята попытка задать значение в удаленной строке.
Типы данных значения и столбца не совпадают.
Примеры
В следующих примерах показано использование свойства для Item[] получения и задания значения определенного индекса столбца. В первом примере возвращается значение первого столбца в любой строке, которую пользователь щелкает в элементе DataGrid управления . Второй задает значение, переданное в качестве аргумента методу .
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
Комментарии
При установке свойства создается исключение, если в событии ColumnChanging возникает исключение.
Если это немедленное изменение, ознакомьтесь EndEdit с исключениями, которые могут быть созданы.
Применяется к
Item[Int32]
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
Возвращает или задает данные, сохраненные в столбце, указанном по индексу.
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
Параметры
- columnIndex
- Int32
Индекс столбца (с нуля).
Значение свойства
Объект Object, содержащий данные.
Исключения
Происходит при попытке задать значение в удаленной строке.
Аргумент columnIndex
вне диапазона.
Примеры
В следующих примерах показано использование свойства для Item[] получения и задания значения определенного индекса столбца. В первом примере возвращается значение первого столбца в любой строке, которую пользователь щелкает в элементе 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
Комментарии
При установке свойства создается исключение, если в событии ColumnChanging возникает исключение.
Если это изменение, ознакомьтесь EndEdit с исключениями, которые могут быть созданы.
Применяется к
Item[String]
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
Возвращает или задает данные, сохраненные в столбце, указанном по имени.
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
Параметры
- columnName
- String
Имя столбца.
Значение свойства
Объект Object, содержащий данные.
Исключения
Не удается найти столбец, указанный по значению columnName
.
Происходит при попытке задать значение в удаленной строке.
Возникает попытке вставки значения null в столбец, где для свойства AllowDBNull задано значение false
.
Примеры
В следующих примерах показано использование свойства для Item[] получения и задания значения определенного индекса столбца. В первом примере возвращается значение первого столбца в любой строке, которую пользователь щелкает в элементе 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["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
Комментарии
При установке свойства создается исключение, если в событии ColumnChanging возникает исключение.
Если это немедленное изменение, ознакомьтесь EndEdit с исключениями, которые могут быть созданы.
Применяется к
Item[DataColumn, DataRowVersion]
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
Получает указанную версию данных, сохраненных в указанном объекте 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
Параметры
- column
- DataColumn
Объект DataColumn, содержащий сведения о столбце.
- version
- DataRowVersion
Одно из значений DataRowVersion, указывающее требуемую версию строки. Допустимые значения: Default
, Original
, Current
и Proposed
.
Значение свойства
Объект Object, содержащий данные.
Исключения
Столбец не принадлежит этой таблице.
Аргумент параметра column
содержит ноль.
Строка не содержит эту версию данных.
Примеры
В следующем примере возвращается текущее значение щелкаемой ячейки в элементе 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
Комментарии
version
Не следует путать со свойством RowState . Аргумент version
описывает состояние данных, содержащихся в столбце, относительно исходного значения столбца.
При установке свойства создается исключение, если в событии ColumnChanging возникает исключение.
Если это немедленное изменение, ознакомьтесь EndEdit с исключениями, которые могут быть созданы.
См. также раздел
Применяется к
Item[Int32, DataRowVersion]
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
Получает данные, сохраненные в столбце, указанном по индексу и версии извлекаемых данных.
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
Параметры
- columnIndex
- Int32
Индекс столбца (с нуля).
- version
- DataRowVersion
Одно из значений DataRowVersion, указывающее требуемую версию строки. Допустимые значения: Default
, Original
, Current
и Proposed
.
Значение свойства
Объект Object, содержащий данные.
Исключения
Аргумент columnIndex
вне диапазона.
Типы данных значения и столбца не совпадают.
Строка не содержит эту версию данных.
Была предпринята попытка задать значение в удаленной строке.
Примеры
В следующем примере возвращается текущее значение столбца через Item[] свойство 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
Комментарии
Вы можете создать или обновить строку только после вызова BeginEdit метода. EndEdit Аналогичным образом необходимо вызвать метод , чтобы зафиксировать изменение. После вызова EndEdit метода и перед вызовом AcceptChanges метода сохраняются внутренние представления исходных и новых предлагаемых значений. Поэтому, пока вы не вызовете AcceptChanges, можно использовать version
аргумент , чтобы указать, какая версия значения столбца вам нужна, либо DataRowVersion.Original
DataRowVersion.Proposed
. Однако после вызова AcceptChanges метода версия столбца возвращается к DataRowVersion.Original
. Если строка новая, можно также передать DataRowVersion.Default
параметр для получения значения столбца по умолчанию. При передаче DataRowVersion.Current
свойство возвращает текущее значение независимо от его версии.
Примечание
Метод BeginEdit вызывается неявно при изменении значения элемента управления с привязкой к данным или при DataRow добавлении DataTable объекта в DataRowCollectionEndEdit ; метод вызывается неявно при вызове следующих методов: AcceptChanges метода DataRow объекта, AcceptChanges метода объекта или CancelEdit метода .
В отличие от этого, DataRowVersion перечисление Current
возвращает версию данных после EndEdit вызова метода .
Аргумент version
не следует путать со свойством RowState . Аргумент version
описывает состояние данных, содержащихся в столбце, относительно исходного значения столбца. Свойство RowState описывает состояние всей строки относительно ее родительского DataTableэлемента .
При установке свойства создается исключение, если в событии ColumnChanging возникает исключение.
Если это немедленное изменение, ознакомьтесь EndEdit с исключениями, которые могут быть созданы.
Применяется к
Item[String, DataRowVersion]
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
- Исходный код:
- DataRow.cs
Получает указанную версию данных, сохраненных в именованном столбце.
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
Параметры
- columnName
- String
Имя столбца.
- version
- DataRowVersion
Одно из значений DataRowVersion, указывающее требуемую версию строки. Допустимые значения: Default
, Original
, Current
и Proposed
.
Значение свойства
Объект Object, содержащий данные.
Исключения
Не удается найти столбец, указанный по значению columnName
.
Типы данных значения и столбца не совпадают.
Строка не содержит эту версию данных.
Строка была удалена.
Примеры
В следующем примере возвращается текущая версия данных в щелкнутой ячейке 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
Комментарии
Версию не следует путать со свойством RowState . Аргумент version
описывает состояние данных, содержащихся в столбце, относительно исходного значения столбца. Свойство RowState описывает состояние всей строки относительно ее родительского DataTableэлемента .
При установке свойства создается исключение, если в событии ColumnChanging возникает исключение.
Если это немедленное изменение, ознакомьтесь EndEdit с исключениями, которые могут быть созданы.