MSDNによると、DataRow
. ただし、これには、列インデックスまたは列名のいずれかを使用する必要があります。これは厳密に型指定されたデータセットであり、魔法の列インデックス番号または文字列リテラルを使用して必要な列を指定するという保守性の悪夢に陥りたくありません。
厳密に型指定された行全体を取得する方法はありますか? または、それが不可能な場合、厳密に型指定された参照を使用して、厳密に型指定された単一の列を取得する方法はありますか?
厳密に型指定された参照を使用した単一の厳密に型指定された列の例:
// DataTable...
SkZapDataSet.vdSkZapDocumentDataTable dt
= args.Row.Table as vdSkZapDocumentDataTable;
// DataRow...
SkZapDataSet.vdSkZapDocumentRow dr
= args.Row as SkZapDataSet.vdSkZapDocumentRow;
// Value...
int id = (int)dr[dt.DocumentIdColumn.ColumnName, DataRowVersion.Original];
私はあなたがここで全面的に三振する可能性が高いのではないかと心配しています. Original
とModified
RowVersionの違いは、AcceptChanges()
呼び出されるまでしか存在しません... 有限の期間です。そして、Columns
その中心にあるコレクションは、ArrayList
次のアクセサーを持つ です。
public DataColumn this[int index] { get; }
public DataColumn this[string name] { get; }
DataColumn
他の方法を見つける方法がわかりません。