【问题标题】:Sum of Rows in DataTable by LinkedId in GridviewGridview中LinkedId在DataTable中的行总和
【发布时间】:2013-07-24 17:53:58
【问题描述】:

我有一个数据表,其中包含用户可以执行的事务。如何通过 LinkedId 显示 EstimatedTransTime 的总和,并在求和后显示该 LinkedTickedId 的最大交易?

DataSet ds = new DataSet();
da.Fill(ds);

DataTable dt = new DataTable();
dt = ds.Tables[0];

DataTable newDataTable
    = dt.AsEnumerable()
        .Where(r => !ListLinkedIds.Contains(r.Field<int>("LinkedTicketId")))
        .CopyToDataTable();

gvMain.DataSource = newDataTable;
gvMain.DataBind();

【问题讨论】:

    标签: c# asp.net gridview datatable dataset


    【解决方案1】:

    我觉得你的查询应该是这样的

    选择 TicketID、DisplayNum、TranstypeDesc、 SubQueueId, SUM(EstimatedTransTime), LinkedTicketId FROM vwQueueData WHERE (DATEADD(day, DATEDIFF(day, 0, Issued), 0) = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)) AND QId = @QId AND SubId = @SubId AND Called IS NULL 按 LinkedTicketId 分组

    试试这个,如果有什么问题请告诉我

    【讨论】:

    • 它不起作用,因为您必须将其他字段中的所有字段分组才能显示它们,如果您将所有字段分组,那么它不会给出正确的结果。
    • 我对你的问题有点困惑。即在 yopur 表中 LinkedTicketId = 10 在 TranstypeDesc 列中具有不同的值。那么如何选择应该在该特定案例的下一个网格视图中显示哪个值!
    • 将显示 EstimatedTransTime 最高的那个
    猜你喜欢
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多