【问题标题】:How to get a sum of column of GridView using JavaScript如何使用 JavaScript 获取 GridView 列的总和
【发布时间】:2014-11-19 13:01:45
【问题描述】:

我正在尝试访问名为 Time of a gridview 的列并使用 JavaScript 计算整列的总和。

我有这样的事情:

所以在报告总数中我想获得第 5 位,因为它现在只是一个条目。

这是一个gridview的定义:

<div class="total">

    <asp:GridView ID="ReportGrid" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDS" Height="68px" Width="813px" AllowPaging="True">
        <Columns>
            <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" DataFormatString="{0:MM/dd/yy}" />
            <asp:BoundField DataField="Name" HeaderText="Team Member Name" SortExpression="Name" />
            <asp:BoundField DataField="ProjectName" HeaderText="Projects" SortExpression="ProjectName" />
            <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" />
            <asp:BoundField DataField="Time" HeaderText="Time" SortExpression="Time" />
        </Columns>
    </asp:GridView>
    <br />
    <br />
    <span>Report total: <em>
        <asp:Label runat="server" ID="totalHours" Text="0"></asp:Label></em></span>
</div>

谁能帮我解决这个问题的javaScript代码或与我分享一些相关链接,因为我在互联网上找到的所有内容都与此不相似,我想当你知道如何做时这很简单使用JS。

调试时求和的NaN值:

【问题讨论】:

  • 为什么要使用 javascript 来做这件事?如果您使用的是 ASP.net?我想最好使用 GridView 的 OnRowBound 函数
  • @RamzanZafar 感谢您的回答。好吧,我正在努力学习 JS,这就是为什么我想尝试这种方式......我想还有一种方法是使用 Sum() 函数直接从数据库中计算它......
  • 是的,使用 SUM() 函数是一个不错的选择。您可以将 css 类添加到您的数据字段,然后使用 Jquery 类选择器来总结这些

标签: javascript jquery asp.net gridview


【解决方案1】:

为你的字段添加一个 css 类

    <asp:BoundField DataField="Time" HeaderText="Time"> 
      <ItemStyle CssClass="yourclass"></ItemStyle> 
     </asp:BoundField> 

并使用以下代码

 var fields= document.getElementsByClassName('yourclass');
    var sum = 0;
    for (var i = 0; i < fields.length; ++i) {
        var item = fields[i];  
         sum += parseInt(item.innerHTML);
    }

然后将该总和分配给您的总标签

$("#<%= totalHours.ClientID %>").text(sum);

【讨论】:

  • 我应该将 css 类添加到所有字段还是只添加我正在使用的时间字段? @RamzanZafar
  • 只到时间字段! @nemo_87
  • 我想我做错了什么...我已将 css 类添加到时间字段 但是当我使用调试器时,我看到字段长度为 0...@RamzanZafar
  • 需要添加item样式
  • 现在它捕获了正确的字段,它计算了一个成员,但总和我得到 NaN。我在调试过程中更新了一张图片,您可以在其中看到这一点。我还添加了一条用于将总和值写入标签的行,但我不确定它是否正确......抱歉打扰你我现在在 JS 中很糟糕......@RamzanZafar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-02
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
  • 1970-01-01
相关资源
最近更新 更多