gpt4 book ai didi

C#使用asp.net在gridview页脚中显示总列总和

转载 作者:行者123 更新时间:2023-11-28 03:09:21 25 4
gpt4 key购买 nike

我需要使用 C# 在 ASP.Net 中的 GridView Footer 中显示列总数(Grand Total)。

我有两个问题:

  1. 我无法在 GridView Footer 中应用 css 样式;
  2. 我有错误

Specified cast is not valid.

当加上Tot2的Sum时。

如何解决?

提前感谢您的帮助。

这是 SQL 查询:

        sql = " SELECT ZN, ";
sql += " IFNULL(Tot1,0) AS Tot1, ";
sql += " IFNULL(Tot2,0) AS Tot2 ";
sql += " FROM ";
sql += " doTable ";
sql += " ORDER BY ";
sql += " Tot1 DESC; ";

+----+------+------+
| Zn | Tot1 | Tot2 |
+----+------+------+
| ZO | 3 | 0 |
| ZO | 3 | 0 |
| ZO | 2 | 1 |
| ZO | 2 | 0 |
| ZO | 2 | 0 |
| ZO | 2 | 0 |
| ZO | 2 | 0 |
| ZO | 1 | 0 |
| ZO | 1 | 1 |
| ZO | 1 | 0 |
+----+------+------+
10 rows in set

这是代码隐藏:

OdbcDataAdapter adapter = new OdbcDataAdapter(command);
adapter.Fill(dsProducts);

gvProducts.Columns[1].FooterText = "Total";
gvProducts.Columns[2].ItemStyle.HorizontalAlign = HorizontalAlign.Right;
gvProducts.Columns[2].ItemStyle.CssClass = "ddl_Class_new";
gvProducts.Columns[2].FooterText = dsProducts.Tables[0].AsEnumerable().Select(x => x.Field<Int32>("Tot1")).Sum().ToString();

gvProducts.Columns[3].ItemStyle.HorizontalAlign = HorizontalAlign.Right;
gvProducts.Columns[3].ItemStyle.CssClass = "ddl_Class_new";
gvProducts.Columns[3].FooterText = dsProducts.Tables[0].AsEnumerable().Select(x => x.Field<Int32>("Tot2")).Sum().ToString();

最佳答案

首先,您使用 FooterStyle.CssClass 设置页脚的 css

gvProducts.Columns[3].FooterStyle.CssClass = "ddl_Class_new";

而指定类型转换意味着Tot1Tot2 中有不能转换为Int32 的字段。可能是因为您在查询中使用了 IFNULL,如果您使用 MS SQL,请将其更改为 ISNULL,或者通过调试检查 aspnet 中的数据是否是您实际期望的数据。

关于C#使用asp.net在gridview页脚中显示总列总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45796599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com