C# 在gridview中加载的值之和

C# 在gridview中加载的值之和,c#,asp.net,C#,Asp.net,如何在C#asp.net应用程序中加上gridview中一个选定行的所有值? 例如,我有一个gridview,其中只有一行。此行的值仅为数字。所以我想加上这个数字 我尝试了这个循环,但它写下了所有的gridview数字(不是求和) for(int i=2;i

如何在C#asp.net应用程序中加上gridview中一个选定行的所有值? 例如,我有一个gridview,其中只有一行。此行的值仅为数字。所以我想加上这个数字

我尝试了这个循环,但它写下了所有的gridview数字(不是求和)

for(int i=2;i
在HTML GridView render as table中,最好使用Jquery添加值

var total=0;
$('#gridview1').find('tr td').each(function(i, td){ 
            var data= parseInt( $(td).val()); 
            total+=data;
 });

我认为你应该从另一个角度来看待这个问题。
GridView
只是一个显示控件,不“保存”正在显示的数据。您正试图使用“屏幕刮取”方法使用它实际上不包含的数据。您应该首先查看绑定到网格的
数据源
,并在那里使用数据

例如:

List<YourObjectWithTheNumbers> lst = something;
yourGridView.DataSource = lst;
ViewState["YourData"] = lst;  // you could use Session instead: Session["YourData"]

此时,您正在使用实际数据,而不是将其从应用于显示目的的网格中拉出。它也更安全,因为如果需要,您可以将数据源安全地存储在服务器上(如果这是一个问题,请不要使用
ViewState
),这样它就不会被操纵。

我创建了一个方法,在这个方法中我有了循环,并且它工作了

public int Sum()
{
    int z = 0;
    int i;
    int x = 0;
    for (i = 0; i < GridView1.Columns.Count; i++)
    {

        x += int.Parse(GridView1.Rows[0].Cells[i].Text);

    }
return x;
}  
public int Sum()
{
int z=0;
int i;
int x=0;
对于(i=0;i

这是@N4TKD的想法。谢谢你

你的意思不太清楚。你能举个例子吗?您是在尝试仅修改显示,还是将更新的值持久化到数据存储?请详细说明。@user2971569您尝试的内容请在此处添加.aspx和.cs代码?int i=2;int x=0;do{x=x+int.Parse(GridView1.Rows[0].Cells[i].Text);i++;}while(我也尝试过循环,但它不起作用。我在我的问题中添加了我一开始也是这么想的。缺点是这会将帖子带回服务器。如果原始帖子只关心在网页上显示总和,那么javascript是一个更实用的答案,正如其他人所提到的。不幸的是,最初的问题没有涉及到这一点。
List<YourObjectWithTheNumbers> lst =
    (List<YourObjectWithTheNumbers>)(ViewState["YourData"]);
int rowTotal = 0;
rowTotal += lst[0].Field1;
rowTotal += lst[0].Field2;
//etc...
yourLiteral.Text = rowTotal.ToString();
public int Sum()
{
    int z = 0;
    int i;
    int x = 0;
    for (i = 0; i < GridView1.Columns.Count; i++)
    {

        x += int.Parse(GridView1.Rows[0].Cells[i].Text);

    }
return x;
}