我有一个带有三列和五行的网格视图,其中包含文本项目模板字段,用于使用Gridview将运行时数据插入到数据库中。我想在此网格视图中进行一些计算,例如添加Col1和Col2的列第3列,也是页脚中的Col1的总和。我也希望计算文本框中的文本更改,不带回发或页面刷新。请告诉我我该怎么做。 我有以下代码来制作网格视图
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowFooter="True">
<Columns>
<asp:TemplateField HeaderText="One">
<FooterTemplate>
<asp:Label ID="lblOne_tot" runat="server"></asp:Label>
</FooterTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Two">
<FooterTemplate>
<asp:Label ID="lblTwo_tot" runat="server"></asp:Label>
</FooterTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:Label ID="lblTotal" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:0)
在每个调用JavaScript函数的文本框中添加“onChange”事件。在此功能中,进行计算并更新正确的标签/ div / span / etc。
<script language="javascript">
function doCalculations1(whichControl)
{
//do calculations on whichControl.value
var outputValue = whichControl.value * 5;
//replace lblOne_tot with clientID after page is built
document.getElementById("lblOne_tot").value = outputValue;
}
</script>
<asp:TextBox id="TextBox1" runat="server" onchange="javascript:doCalculations1(this);" />