Asp.net 在gridview中成倍增加行而不刷新页面

Asp.net 在gridview中成倍增加行而不刷新页面,asp.net,Asp.net,我的web应用程序有一个gridview,其中有数量和单价列以及总计列。如果我键入数量和单价,那么我希望在下一列中自动显示总价。但对于我当前的编码,它将仅在我单击add按钮重新加载页面后显示。当我移动到“总额”列时,我需要自动显示总额。这是我当前的代码 <ItemTemplate> <asp:TextBox ID="txttotal" runat="server" Text='<%# Convert.ToInt32(Eval("Qty")) *

我的web应用程序有一个gridview,其中有数量和单价列以及总计列。如果我键入数量和单价,那么我希望在下一列中自动显示总价。但对于我当前的编码,它将仅在我单击add按钮重新加载页面后显示。当我移动到“总额”列时,我需要自动显示总额。这是我当前的代码

<ItemTemplate>
    <asp:TextBox ID="txttotal" runat="server" 
        Text='<%# Convert.ToInt32(Eval("Qty")) * Convert.ToInt32(Eval("Uprice"))%>' 
        AutoPostBack="True">
    </asp:TextBox>
</ItemTemplate>`

`

您需要从gridview行数据绑定调用javascript函数,如下所示:

 txtFATObj.Attributes.Add("onkeyup", "Calculate('" + txtFATObj.ClientID + "','" + txtSNFObj.ClientID + "','" + txtNETWTObj.ClientID + "','" + txtTSObj.ClientID + "')");
Calculate()在aspx页面或单独的JS文件中定义。您现在可以根据收到的这些参数进行计算并设置值

像这样定义RowDataBound,您需要在其中找到控件并将捕获的值发送到javascript。实际计算将在javascript末尾进行。

protected void grvCalc_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            TextBox txtFATObj = (TextBox)e.Row.FindControl("txtFAT");
            TextBox txtSNFObj = (TextBox)e.Row.FindControl("txtSNF");
            TextBox txtNETWTObj = (TextBox)e.Row.FindControl("txtNETWT");
            TextBox txtTSObj = (TextBox)e.Row.FindControl("txtTS");

            txtFATObj.Attributes.Add("onfocusout", "Calculate('" + txtFATObj.ClientID + "','" + txtSNFObj.ClientID + "','" + txtNETWTObj.ClientID + "','" + txtTSObj .ClientID + "')");

        }
    }

请用代码编辑您的问题,而不是将其放在评论中。这个问题更容易理解。先生,如何在java中添加calculate函数