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