2

根据MSDN 可以在DataRow. 但是,这需要使用列索引或列名。这是一个强类型数据集,我不想陷入使用魔法列索引号或字符串文字来指定我需要的列的可维护性噩梦。

有没有办法获得整个强类型行?或者,如果这不可能,有没有办法使用强类型引用来获取单个强类型列?

4

2 回答 2

3

使用强类型引用的单个强类型列的示例:

// 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];
于 2016-12-17T07:00:08.300 回答
1

恐怕你会在这里一刀切。OriginalRowVersion和ModifiedRowVersion之间的区别只存在于AcceptChanges()被称为...一个有限时期。集合的Columns核心是ArrayList, 具有以下访问器:

public DataColumn this[int index] { get; }
public DataColumn this[string name] { get; }

我不明白你会如何找到DataColumn其他方法。

于 2013-06-19T16:29:10.127 回答