より少ない行とより良いアプローチでこのタスクを実行することを減らすために、どのような変更を加える必要がありますか。
DataTable dtStatusMsgs;
var statusList = (
from items in dtInputTable.AsEnumerable()
where items.Field<int>("DepartmentId") == deptId
select new
{
statusId = items.Field<int>("StatusId"),
status = items.Field<string>("Status"),
statusOrder = items.Field<int>("StatusSortOrder"),
rowId = items.Field<int>("RowId")
}).Distinct();
dtStatusMsgs = new DataTable();
dtStatusMsgs.Columns.Add("StatusId", typeof(int));
dtStatusMsgs.Columns.Add("Status", typeof(string));
dtStatusMsgs.Columns.Add("StatusSortOrder", typeof(int));
dtStatusMsgs.Columns.Add("RowId", typeof(int));
foreach (var item in statusList)
dtStatusMsgs.Rows.Add(item.statusId, item.status,item.statusOrder
, item.rowId);
このようなことをしてほしい。
DataTable dtStatusMsgs;
var statusList = (
from items in dtInputTable.AsEnumerable()
where items.Field<int>("DepartmentId") == deptId
select new
{
statusId = items.Field<int>("StatusId"),
status = items.Field<string>("Status"),
statusOrder = items.Field<int>("StatusSortOrder"),
rowId = items.Field<int>("RowId")
}).Distinct();
dtStatusMsgs= statusList.CopyToDataTable<DataRow>();
そして、このコードの任意の列で Sum 関数を使用する方法。集計関数を適用するためのサンプル コードを確認したい