DataTable 行列转换 将原来的行表转化成交叉表,无对应值赋默认值,用于统计显示或报表

这篇博客介绍了如何使用C#将DataTable转换为交叉表,并在无对应值时赋予默认值。通过示例代码展示了如何创建源DataTable,然后使用GetCrossTable方法进行行列转换,将原始数据的行表形式转化成交叉表格式,方便进行统计显示和报表制作。
摘要由CSDN通过智能技术生成
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable tt = GetCrossTable(CreateDT());
            GridView1.DataSource = tt;
            GridView1.DataBind();
        }
    }

    //创建DataTable
    protected DataTable CreateDT()
    {
        DataTable tblDatas = new DataTable("Datas");
        //数据列
        tblDatas.Columns.Add("姓名", Type.GetType("System.String"));
        tblDatas.Columns.Add("科目", Type.GetType("System.String"));
        tblDatas.Columns.Add("分数", Type.GetType("System.Int32"));

        tblDatas.Rows.Add(new object[] { "张三", "语文", 89 });
        tblDatas.Rows.Add(new object[] { "张三", "数学", 90 });
        tblDatas.Rows.Add(new object[] { "张三", "英语", 79 });
        tblDatas.Rows.Add(new object[] { "张三", "地理", 70 });
        tblDatas.Rows.Ad
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smartsmile2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值