GridView模版列代码! <asp:TemplateField HeaderText="数量">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="a" runat="server" Text='<%# Bind("[T-jpcs1]") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<EditItemTemplate>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="b" runat="server" onkeydown="checkFloat(event)" Width="100px" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="总金额">
<EditItemTemplate>
<asp:TextBox ID="TextBox10" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="c" runat="server" Width="100px" onkeydown="checkFloat(event)" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>用js
计算数量*单价=总金额
其中数量是通过数据源绑定的~单价直接在GridView上输入,输入单价后计算结果自动显示在总金额文本框内!
求js代码!
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="a" runat="server" Text='<%# Bind("[T-jpcs1]") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<EditItemTemplate>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="b" runat="server" onkeydown="checkFloat(event)" Width="100px" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="总金额">
<EditItemTemplate>
<asp:TextBox ID="TextBox10" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="c" runat="server" Width="100px" onkeydown="checkFloat(event)" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>用js
计算数量*单价=总金额
其中数量是通过数据源绑定的~单价直接在GridView上输入,输入单价后计算结果自动显示在总金额文本框内!
求js代码!
<script type="text/javascript">
function checkFloat(e) {
return (e.keyCode >= 48 && e.keyCode <= 57) || e.keyCode == 8 || e.keyCode == 46 || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 190 || e.keyCode == 110 ? true : false;
} function Cal(a, tb) {
var b = parseFloat(tb.value);
var par = tb.parentElement || tb.parentNode;
var tbC = par.nextSibling.getElementsByTagName("input")[0];
tbC.value = a * b;
}
</script> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="数量">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="a" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<EditItemTemplate>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<input type="text" onkeydown="return checkFloat(event)" onkeyup="Cal(<%# Eval("[T-jpcs1]") %>,this)" style="width:100px" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="总金额">
<EditItemTemplate>
<asp:TextBox ID="TextBox10" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="c" runat="server" Width="100px" onkeydown="return checkFloat(event)"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="a" runat="server" Text='<%# Bind("[T-jpcs1]") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<EditItemTemplate>
<asp:TextBox ID="TextBox8" onchange='getje()' runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="b" runat="server" onkeydown="checkFloat(event)" Width="100px" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="总金额">
<EditItemTemplate>
<asp:TextBox ID="TextBox10" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="c" runat="server" Width="100px" onkeydown="checkFloat(event)" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<script language='javascript'>
function getje()
{
var djobj=window.event.srcElement;//获取事件源
var trobj=djobj.parentNodes.parentNodes;
var slobj=trobj.childNodes[0].childNodes[0];(第一个[0]数量列在表格中的位置)
var jeobj=trobj.childNodes[2].childNodes[0]; jeobj.value=djobj.value*slobj.value; }
</script>
我没时间试,大概就是这个意思