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

Определение

Перегрузки

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

Возвращает или задает данные, сохраненные в указанном объекте DataColumn.Gets or sets the data stored in the specified DataColumn.

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

Возвращает или задает данные, сохраненные в столбце, указанном по индексу.Gets or sets the data stored in the column specified by index.

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

Возвращает или задает данные, сохраненные в столбце, указанном по имени.Gets or sets the data stored in the column specified by name.

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

Получает указанную версию данных, сохраненных в указанном объекте DataColumn.Gets the specified version of data stored in the specified DataColumn.

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

Получает данные, сохраненные в столбце, указанном по индексу и версии извлекаемых данных.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]

Получает указанную версию данных, сохраненных в именованном столбце.Gets the specified version of data stored in the named column.

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

Возвращает или задает данные, сохраненные в указанном объекте DataColumn.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

Параметры

column
DataColumn DataColumn DataColumn DataColumn

Значение типа DataColumn, содержащее данные.A DataColumn that contains the data.

Значение свойства

Объект Object, содержащий данные.An Object that contains the data.

Исключения

Столбец не принадлежит этой таблице.The column does not belong to this table.

Значением параметра column является null.The column is null.

Была предпринята попытка задать значение в удаленной строке.An attempt was made to set a value on a deleted row.

Типы данных значения и столбца не совпадают.The data types of the value and the column do not match.

Примеры

В следующих примерах показано использование Item[String, DataRowVersion] свойства для получения и задания значения определенного индекса столбца.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. В первом примере возвращается значение первого столбца в любой строке, которую пользователь щелкает в DataGrid элементе управления.The first example gets the value of the first column in any row that a user clicks in a DataGrid control. Второй задает значение, передаваемое в качестве аргумента в метод.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

Комментарии

При задании свойства создается исключение, если в ColumnChanging событии возникает исключение.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Если это мгновенное изменение, см EndEdit . Дополнительные сведения об исключениях, которые могут быть созданы.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

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

Возвращает или задает данные, сохраненные в столбце, указанном по индексу.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

Параметры

columnIndex
Int32 Int32 Int32 Int32

Индекс столбца (с нуля).The zero-based index of the column.

Значение свойства

Объект Object, содержащий данные.An Object that contains the data.

Исключения

Происходит при попытке задать значение в удаленной строке.Occurs when you try to set a value on a deleted row.

Аргумент columnIndex вне диапазона.The columnIndex argument is out of range.

Происходит при задании значения, когда Type нового значения не совпадает со свойством DataType.Occurs when you set the value and the new value's Type does not match DataType.

Примеры

В следующих примерах показано использование Item[String, DataRowVersion] свойства для получения и задания значения определенного индекса столбца.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. В первом примере возвращается значение первого столбца в любой строке, которую пользователь щелкает в DataGrid элементе управления.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

Комментарии

При задании свойства создается исключение, если в ColumnChanging событии возникает исключение.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Если это изменение, см. раздел EndEdit для исключений, которые могут быть созданы.If this is an edit, see EndEdit for the exceptions that can be generated.

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

Возвращает или задает данные, сохраненные в столбце, указанном по имени.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

Параметры

columnName
String String String String

Имя столбца.The name of the column.

Значение свойства

Объект Object, содержащий данные.An Object that contains the data.

Исключения

Не удается найти столбец, указанный по значению columnName.The column specified by columnName cannot be found.

Происходит при попытке задать значение в удаленной строке.Occurs when you try to set a value on a deleted row.

Происходит при задании значения, когда Type нового значения не совпадает со свойством DataType.Occurs when you set a value and its Type does not match DataType.

Возникает попытке вставки значения null в столбец, где для свойства AllowDBNull задано значение false.Occurs when you try to insert a null value into a column where AllowDBNull is set to false.

Примеры

В следующих примерах показано использование Item[String, DataRowVersion] свойства для получения и задания значения определенного индекса столбца.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. В первом примере возвращается значение первого столбца в любой строке, которую пользователь щелкает в DataGrid элементе управления.The first example gets the value of the first column in any row that a user clicks in a DataGrid control. Второй задает значение, передаваемое в качестве аргумента в метод.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

Комментарии

При задании свойства создается исключение, если в ColumnChanging событии возникает исключение.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Если это мгновенное изменение, см EndEdit . Дополнительные сведения об исключениях, которые могут быть созданы.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]

Получает указанную версию данных, сохраненных в указанном объекте DataColumn.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

Параметры

column
DataColumn DataColumn DataColumn DataColumn

Объект DataColumn, содержащий сведения о столбце.A DataColumn that contains information about the column.

version
DataRowVersion DataRowVersion DataRowVersion DataRowVersion

Одно из значений DataRowVersion, указывающее требуемую версию строки.One of the DataRowVersion values that specifies the row version that you want. Допустимые значения: Default, Original, Current и Proposed.Possible values are Default, Original, Current, and Proposed.

Значение свойства

Объект Object, содержащий данные.An Object that contains the data.

Исключения

Столбец не принадлежит этой таблице.The column does not belong to the table.

Аргумент параметра column содержит ноль.The column argument contains null.

Строка не содержит эту версию данных.The row does not have this version of data.

Примеры

В следующем примере показано получение текущего значения нажатой ячейки в DataGrid элементе управления.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

Комментарии

Не следует путать RowStateсосвойством. versionThe version should not be confused with the RowState property. version Аргумент описывает состояние данных, содержащихся в столбце относительно исходного значения столбца.The version argument describes the state of the data that is contained by the column relative to the column's original value.

При задании свойства создается исключение, если в ColumnChanging событии возникает исключение.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Если это мгновенное изменение, см EndEdit . Дополнительные сведения об исключениях, которые могут быть созданы.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Дополнительно

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

Получает данные, сохраненные в столбце, указанном по индексу и версии извлекаемых данных.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

Параметры

columnIndex
Int32 Int32 Int32 Int32

Индекс столбца (с нуля).The zero-based index of the column.

version
DataRowVersion DataRowVersion DataRowVersion DataRowVersion

Одно из значений DataRowVersion, указывающее требуемую версию строки.One of the DataRowVersion values that specifies the row version that you want. Допустимые значения: Default, Original, Current и Proposed.Possible values are Default, Original, Current, and Proposed.

Значение свойства

Объект Object, содержащий данные.An Object that contains the data.

Исключения

Аргумент columnIndex вне диапазона.The columnIndex argument is out of range.

Типы данных значения и столбца не совпадают.The data types of the value and the column do not match.

Строка не содержит эту версию данных.The row does not have this version of data.

Была предпринята попытка задать значение в удаленной строке.An attempt was made to set a value on a deleted row.

Примеры

В следующем примере показано получение текущего значения столбца через Item[String, DataRowVersion] свойство DataRow объекта.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

Комментарии

Вы можете создать или обновить строку только после вызова BeginEdit метода. Аналогичным образом EndEdit для фиксации изменения необходимо вызвать метод.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. После вызова EndEdit метода и перед AcceptChanges вызовом метода будут сохранены внутренние представления исходного и новых предложенных значений.After you call the EndEdit method, and before you call the AcceptChanges method, internal representations of the original and new proposed values are stored. Поэтому, пока не будет вызван AcceptChanges, можно version использовать аргумент, чтобы указать требуемую версию значения DataRowVersion.Original столбца: или 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. Однако, как только вы вызываете AcceptChanges метод, версия столбца возвращается к. DataRowVersion.OriginalHowever, as soon as you call the AcceptChanges method, the version of the column reverts to DataRowVersion.Original. Если строка является новой, можно также передать DataRowVersion.Default параметр, чтобы получить значение столбца по умолчанию.If the row is new, you can also pass DataRowVersion.Default for the parameter to retrieve the column's default value. При передаче DataRowVersion.Currentсвойство возвращает текущее значение, независимо от его версии.When passing DataRowVersion.Current, the property returns the current value, whatever its version may be.

Примечание

DataRowCollection DataRow AcceptChanges EndEdit Метод вызывается неявно при изменении значения элемента управления с привязкой к данным или при добавлении объекта в. метод вызывается неявно при вызове следующих методов: BeginEdit DataRow метод объекта AcceptChanges , методDataTable объекта илиCancelEdit метод.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.

Напротив, DataRowVersion перечисление Current Возвращает версию данных после EndEdit вызова метода.By contrast, the DataRowVersion enumeration Current returns the version of the data after the EndEdit method has been called.

Аргумент не следует путать RowState со свойством. versionThe version argument should not be confused with the RowState property. version Аргумент описывает состояние данных, содержащихся в столбце относительно исходного значения столбца.The version argument describes the state of the data that is contained by the column relative to the column's original value. Свойство описывает состояние всей строки относительно ее родителя DataTable. RowStateThe RowState property describes the state of the whole row relative to its parent DataTable.

При задании свойства создается исключение, если в ColumnChanging событии возникает исключение.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Если это мгновенное изменение, см EndEdit . Дополнительные сведения об исключениях, которые могут быть созданы.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]

Получает указанную версию данных, сохраненных в именованном столбце.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

Параметры

columnName
String String String String

Имя столбца.The name of the column.

version
DataRowVersion DataRowVersion DataRowVersion DataRowVersion

Одно из значений DataRowVersion, указывающее требуемую версию строки.One of the DataRowVersion values that specifies the row version that you want. Допустимые значения: Default, Original, Current и Proposed.Possible values are Default, Original, Current, and Proposed.

Значение свойства

Объект Object, содержащий данные.An Object that contains the data.

Исключения

Не удается найти столбец, указанный по значению columnName.The column specified by columnName cannot be found.

Типы данных значения и столбца не совпадают.The data types of the value and the column do not match.

Строка не содержит эту версию данных.The row does not have this version of data.

Примеры

В следующем примере производится получение текущей версии данных по щелчку в ячейке DataGrid элемента управления.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

Комментарии

Версию не следует путать со RowState свойством.The version should not be confused with the RowState property. version Аргумент описывает состояние данных, содержащихся в столбце относительно исходного значения столбца.The version argument describes the state of the data that is contained by the column relative to the column's original value. Свойство описывает состояние всей строки относительно ее родителя DataTable. RowStateThe RowState property describes the state of the whole row relative to its parent DataTable.

При задании свойства создается исключение, если в ColumnChanging событии возникает исключение.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Если это мгновенное изменение, см EndEdit . Дополнительные сведения об исключениях, которые могут быть созданы.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Дополнительно

Применяется к