如何在gridview的页脚模板中更新Label的值?

时间:2013-11-22 11:48:10

标签: c# javascript asp.net gridview

我有一个Gridview,其中包含可编辑的字段,正在计算每列的总和,并在我的gridview列看起来像在页脚列中显示它 这不是更新价值,任何人都可以帮助我,我应该在哪里纠正我的代码?

if (i == objGrid.rows.length)
{   
   objGrid.rows[i].cells[2].children[0].innerText = ClsSum;
   objGrid.rows[i].cells[3].children[0].innerText = NonSaleSum;
   objGrid.rows[i].cells[7].children[0].innerText = SecSum;
}

4 个答案:

答案 0 :(得分:1)

您可以检查rows.length -1。 并确保在回发后执行代码片段。

答案 1 :(得分:1)

我希望在绑定gridview后执行此代码。所以,请检查您是否已申请  GridviewBind方法中的(!IsPostBack)。 还要检查在重新加载或更新值时代码是否达到此方法?

答案 2 :(得分:0)

你也可以试试这个,把下面的代码放在循环的一边

//创建名为“footerClass”的css类并应用于列fotter模板

var objGrid= document.getElementById('<%=YourGrid.ClientID%>');
var cells = objGrid.getElementsByClassName('footerClass') 

cells[0].innerText = ClsSum;
cells[1].innerText = NonSaleSum;
cells[2].innerText = SecSum;

答案 3 :(得分:0)

我希望你使用Grid_RowDataBound()事件,因此你可以试试这个

protected void Grid_RowDataBound(Object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{

   if(e.Row.RowType == DataControlRowType.Footer)
   { 
         e.Row.cells[2].children[0].innerText = ClsSum;
         e.Row.cells[3].children[0].innerText = NonSaleSum;
         e.Row.cells[7].children[0].innerText = SecSum;
    }
}