0
Quels changements dois-je faire afin de réduire cette tâche avec moins de lignes et une meilleure approche.Copier le résultat de Linq dans DataTable
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);
Je veux que ce soit fait quelque chose comme ça.
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>();
Et comment utiliser la fonction Sum sur l'une des colonnes de ce code. Je veux voir un exemple de code sur cette application pour toute fonction d'agrégation
Jetez un oeil à ceci: http://stackoverflow.com/questions/564366/generic-list-to-datatable –