簡體   English   中英

如何使用Linq在ASP.NET中篩選數據表並創建新的數據表?

[英]How I can filter a DataTable and create a new dataTable in ASP.NET with Linq?

嗨,我在我的asp.net應用程序中有問題。

我有一個數據表,我想用linq將此表過濾到數據表。

我的數據表具有以下結構:

用戶| 執照| 部門| 時間| 電話號碼| 位置

我想要一個在部門中沒有重復條目的新數據表。 例如:

這是基本數據表中的三行

userA | 1 | IT        | 4min | 0123/123 | germany 
userB | 1 | Marketing | 3min | 0232/232 | germany 
userC | 1 | IT        | 1min | 0233/233 | germany 

我想要的

部門| 許可證

It         | 2 
Marketing  | 1 

這意味着必須計算使用虱子。

這是我的代碼:

更新:

 var query = from row in catia_user_table.AsEnumerable()
                            group row by row.Field<string>("Department") into grp
                            orderby grp.Key
                            select new
                            {
                                Department = grp.Key,
                                Licenses = grp.Sum(r => r.Field<int>("Licenses"))

                            };

                    DataTable tb = query.CopyToDataTable();

認為問題是我的DataTable中的每一行都來自Typ字符串,或者不是那么重要嗎?

就像@Krishnraj Rana所說的那樣,您只需要按部門分組,然后使用Sum運算符計算每個部門的許可證總數。 見下文:

var query = catia_user_table.AsEnumerable().GroupBy(n => n.Department)
                            .Select(g => new
                             {
                                Department = g.Key,
                                Licenses = g.Sum(n => n.Licensec)
                             }).ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM