获取asp.net的数据行总数

时间:2012-11-30 14:27:23

标签: asp.net datatable dataset

我试图让单行中每列的值等于总数。这是我在c#asp.net

中实现此目的的代码
DataTable dt = ds.Tables.Add("InspireTable");
        string pass = (String)Session["name"];
        if (pass.Equals("High"))
        {
            dt.Columns.Add("Inspire", typeof(string));
            dt.Columns.Add("SNS", typeof(int));
            dt.Columns.Add("TT", typeof(int));
            dt.Columns.Add("Music", typeof(int));
            dt.Columns.Add("Total", typeof(string));


            DataRow row = dt.NewRow();
            row["Inspire"] = "Score";
            row["SNS"] = 10;
            row["TT"] = 10;
            row["Music"] = 0;

            dt.Rows.Add(row);
            Chart1.DataSource = dt;
            this.GridView1.Visible = true;
            GridView1.DataSource = dt;
            GridView1.DataBind();

        }

有什么想法吗?我曾尝试调用每个列并添加它们,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

使用旧的DataTable.Compute方法,例如:

int snsTotal = (int) dt.Compute("SUM(SNS)", null); // the second argument is the filter

这是“现代”Linq方法:

int snsTotal = dt.AsEnumerable().Sum(r => r.Field<int>("SNS"));

编辑:好像您想将每行的数值相加为“总计”列。然后你可以使用Column-Expression:

dt.Columns.Add("Total", typeof(int), "SNS + TT + Music");