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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將DataTable拆分為多個(gè)數(shù)據(jù)表c#

如何將DataTable拆分為多個(gè)數(shù)據(jù)表c#

Gender      Age    Category--------------------------------Male     |  10     |   2Female   |  15     |   1Trans    |  13     |   3Female   |  10     |   1Male     |  20     |   2我有一個(gè)具有上述值的數(shù)據(jù)表。男性 CategoryId 為 2。在上表中,共有 2 個(gè)男性行?;陬?lèi)別,合并兩行并分成一個(gè)單獨(dú)的數(shù)據(jù)表。我需要的輸出是:-數(shù)據(jù)表 1Gender      Age    Category--------------------------------Male     |  10     |   2Male     |  20     |   2數(shù)據(jù)表2Gender      Age    Category--------------------------------Female   |  15     |   1Female   |  10     |   1數(shù)據(jù)表3Gender      Age    Category--------------------------------Trans    |  13     |   3
查看完整描述

3 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

干得好:


List<DataTable> result = DTHead.AsEnumerable()

            .GroupBy(row => row.Field<DataType>("Category"))

            .Select(g => g.CopyToDataTable())

            .ToList();


查看完整回答
反對(duì) 回復(fù) 2021-07-17
?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

var view = sourceDataTable.DefaultView;


view.RowFilter = "Category = 2";

var maleDataTable = view.ToTable();


view.RowFilter = "Category = 1";

var femaleDataTable = view.ToTable();


view.RowFilter = "Category = 3";

var transDataTable = view.ToTable();


查看完整回答
反對(duì) 回復(fù) 2021-07-17
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

請(qǐng)參閱以下內(nèi)容:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;



namespace ConsoleApplication48

{

    class Program

    {

        static void Main(string[] args)

        {

            DataTable dt = new DataTable();

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

            dt.Columns.Add("Age", typeof(int));

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


            dt.Rows.Add(new object[] {"Male", 10, 2});

            dt.Rows.Add(new object[] {"Female", 15, 1});

            dt.Rows.Add(new object[] {"Trans", 13, 3});

            dt.Rows.Add(new object[] {"Female", 10, 1});

            dt.Rows.Add(new object[] {"Male", 20, 2});


            DataTable dt1 = dt.AsEnumerable().Where(x => x.Field<string>("Gender") == "Male").CopyToDataTable();

            DataTable dt2 = dt.AsEnumerable().Where(x => x.Field<string>("Gender") == "Feale").CopyToDataTable();

            DataTable dt3 = dt.AsEnumerable().Where(x => x.Field<string>("Gender") == "Trans").CopyToDataTable();



        }


    }


}

這是一個(gè)更通用的解決方案,可以獲取列中的每種類(lèi)型:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;



namespace ConsoleApplication48

{

    class Program

    {

        static void Main(string[] args)

        {

            DataTable dt = new DataTable();

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

            dt.Columns.Add("Age", typeof(int));

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


            dt.Rows.Add(new object[] { "Male", 10, 2 });

            dt.Rows.Add(new object[] { "Female", 15, 1 });

            dt.Rows.Add(new object[] { "Trans", 13, 3 });

            dt.Rows.Add(new object[] { "Female", 10, 1 });

            dt.Rows.Add(new object[] { "Male", 20, 2 });


            //updated code

            string[] rowNames = dt.AsEnumerable().Select(x => x.Field<string>("Gender")).Distinct().ToArray();

            DataSet ds = new DataSet();


            foreach (string gender in rowNames)

            {

                DataTable newDt = dt.AsEnumerable().Where(x => x.Field<string>("Gender") == gender).CopyToDataTable();

                newDt.TableName = gender;

                ds.Tables.Add(newDt);


            }

        }


    }


}


查看完整回答
反對(duì) 回復(fù) 2021-07-17
  • 3 回答
  • 0 關(guān)注
  • 397 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)