第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

分組和組合值 DataTable,c#

分組和組合值 DataTable,c#

C#
至尊寶的傳說 2021-10-24 14:15:35
前:Name    Class   AbilityBoy1      A1    SingBoy2      A1    SingBoy3      A2    SingGirl1     A2    SingGirl2     A2    Dance后:Name                Class   AbilityBoy1,Boy2             A1    SingBoy3,Girl1,Girl2      A1    Sing,Dance如何將表格前后分組?我用過:DataTable dt = GetDataTable();//獲取數(shù)據(jù)dt.AsEnumerable()....//不知道怎么繼續(xù)。請幫我
查看完整描述

2 回答

?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

var result = dt.AsEnumerable()

     .GroupBy(d => d.Field<string>("Class"))

     .Select(g => new

     {

         Name = string.Join(",", 

            g.Select(gn => gn.Field<string>("Name")).Distinct()),

         Class = g.Key,

         Teacher = string.Join(",", 

            g.Select(gt => gt.Field<string>("Ability")).Distinct())

     });

注意:如果您直接使用 Linq 而不是 DataTable,這會容易得多。


查看完整回答
反對 回復 2021-10-24
?
鳳凰求蠱

TA貢獻1825條經(jīng)驗 獲得超4個贊

我為樣本創(chuàng)建了一個虛擬數(shù)據(jù)


        DataTable dtNew, dt = new DataTable();

        dt.Columns.Add("Id", typeof(string));

        dt.Columns.Add("Category",typeof(string));

        dt.Columns.Add("Type",typeof(string));

        dtNew = dt.Clone();



        dt.Rows.Add("323021", "Doors", "900");

        dt.Rows.Add("323022", "Doors", "900");

        dt.Rows.Add("323023", "Doors", "1000");

        dt.Rows.Add("323024", "Doors", "1000");


        dt.Rows.Add("323025", "Walls", "200");

        dt.Rows.Add("323026", "Walls", "200");

        dt.Rows.Add("323027", "Walls", "200");

        dt.Rows.Add("323028", "Walls", "200");


        dt.Rows.Add("323026", "Columns", "300x300");

        dt.Rows.Add("323027", "Columns", "300x300");

        dt.Rows.Add("323028", "Columns", "500x500");

此場景的解決方案


        //Case 1: Category and Type

        var caretoryTypeResult = (from b in dt.AsEnumerable()

                              group b by new

                              {

                                  Category = b.Field<string>("Category"),

                                  Type = b.Field<string>("Type")

                              }

                                  into grpCategoryType

                                  select new

                                  {

                                      grpCategoryType.Key.Category,

                                      grpCategoryType.Key.Type,

                                      grpCategoryType

                                  }).ToList();


        caretoryTypeResult.ForEach(list => {

            var category = list.grpCategoryType.AsEnumerable().Select(m => m.Field<string>("Id")).ToList();

            dtNew.Rows.Add(string.Join(",", category), list.Category, list.Type);


        });

希望這段代碼有幫助


查看完整回答
反對 回復 2021-10-24
  • 2 回答
  • 0 關注
  • 225 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號