次の方法で共有


DataRow.Item プロパティ (String, DataRowVersion)

指定した列に格納されているデータの指定したバージョンを取得します。

[C#] C# では、このプロパティは DataRow クラスのインデクサになります。

Overloads Public Default ReadOnly Property Item( _
   ByVal columnName As String, _   ByVal version As DataRowVersion _) As Object
[C#]
public object this[stringcolumnName,DataRowVersionversion] {get;}
[C++]
public: __property Object* get_Item(String* columnName,DataRowVersionversion);
[JScript]
returnValue = DataRowObject.Item(columnName, version);またはreturnValue = DataRowObject(columnName, version);

[JScript] JScript では、この型で定義されている既定のインデックス プロパティを使用することができます。しかし、独自のインデックス プロパティを明示的に定義することはできません。ただし、このクラスの expando 属性を指定すると、既定のインデックス プロパティが提供されます。提供されるインデックス プロパティの型は Object 型であり、インデックス型は String になります。

引数 [JScript]

  • columnName
    列の名前。
  • version
    必要な行のバージョンを指定する DataRowVersion 値の 1 つ。可能な値は、Default、Original、Current、および Proposed です。

パラメータ [Visual Basic, C#, C++]

  • columnName
    列の名前。
  • version
    必要な行のバージョンを指定する DataRowVersion 値の 1 つ。可能な値は、Default、Original、Current、および Proposed です。

プロパティ値

データを格納している Object

例外

例外の種類 条件
ArgumentException columnName で指定した列が見つかりません。
InvalidCastException 列と値のデータ型が一致しません。
VersionNotFoundException このバージョンのデータが行にありません。
DeletedRowInaccessibleException この行は削除されました。

解説

version は、 RowState プロパティとは異なります。引数 version は、列の元の値を基準にして、列に格納されているデータの状態を表します。 RowState プロパティは、親 DataTable を基準にして、行全体の状態を表します。

プロパティを設定するときに、 ColumnChanging イベントで例外が発生すると例外が生成されます。

直前の編集の場合、生成される可能性がある例外については EndEdit のトピックを参照してください。

使用例

[Visual Basic, C#, C++] DataGrid コントロールでクリックされたセルにあるデータの現在のバージョンを取得する例を次に示します。

 
Private Sub DataGrid1_Click _
(ByVal sender As System.Object, ByVal e As System.EventArgs)
   Dim currRow As DataRow
   ' Set the current row using the RowNumber property of the CurrentCell.
   currRow = CType(DataGrid1.DataSource, DataTable). _
      Rows(DataGrid1.CurrentCell.RowNumber)
   ' Print the current value of the column named "FirstName."
   Console.WriteLine(currRow("FirstName", DataRowVersion.Current).ToString())
End Sub

[C#] 
private void DataGrid1_Click(object sender, System.EventArgs e){
    DataRow currRow;
    // Set the current row using the RowNumber property of the CurrentCell.
    currRow =
    ((DataTable)(DataGrid1.DataSource)).Rows[DataGrid1.CurrentCell.RowNumber];
    // Print the current value of the column named "FirstName."
    Console.WriteLine(currRow["FirstName", DataRowVersion.Current]);
 }

[C++] 
private:
void DataGrid1_Click(Object* /*sender*/, System::EventArgs* /*e*/){
    DataRow* currRow;
    // Set the current row using the RowNumber property of the CurrentCell.
    currRow =
       (dynamic_cast<DataTable*>(DataGrid1->DataSource))->Rows->Item[DataGrid1->CurrentCell.RowNumber];
    // Print the current value of the column named "FirstName."
    Console::WriteLine(currRow->Item[S"FirstName", DataRowVersion::Current]);
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

DataRow クラス | DataRow メンバ | System.Data 名前空間 | DataRow.Item オーバーロードの一覧 | DataRowVersion