本文整理汇总了C#中System.Data.DataRowCollection.Cast方法的典型用法代码示例。如果您正苦于以下问题:C# DataRowCollection.Cast方法的具体用法?C# DataRowCollection.Cast怎么用?C# DataRowCollection.Cast使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.DataRowCollection
的用法示例。
在下文中一共展示了DataRowCollection.Cast方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Convert
public static Report Convert(DataRowCollection dataRowCollection, Report report, String columnNameGroup)
{
if (dataRowCollection == null || report == null || columnNameGroup == null) return null;
var dataSet = new Data.DataSet();
var columnValues = new List<Object>();
foreach (object columnValue in dataRowCollection.Cast<DataRow>()
.Select(dataRow => dataRow[columnNameGroup])
.Where(columnValue => !columnValues.Contains(columnValue)))
columnValues.Add(columnValue);
foreach (object columnValue in columnValues)
{
var sums = new List<Double>();
for (int index = 0; index < dataRowCollection[0].ItemArray.Count(); index++)
sums.Add(0d);
foreach (DataRow dataRow in dataRowCollection)
{
if (dataRow[columnNameGroup] != columnValue) continue;
var fields = new Fields();
int index = 0;
foreach (object o in dataRow.ItemArray)
{
fields.AddData(!o.Equals(DBNull.Value) ? new Field(o) : new Field("N/A"));
if (o is Decimal)
sums[index] += Decimal.ToDouble((Decimal) o);
else if (o is Int32)
sums[index] += (Int32) o;
index++;
}
dataSet.Fieldss.AddData(fields);
}
var sumFields = new Fields();
foreach (double sum in sums)
sumFields.AddData(new Field(sum));
dataSet.Fieldss.AddData(sumFields);
}
report.DataSets.AddData(dataSet);
return report;
}