Gridview编辑时Jquery自动计算自定义列(鼠标离开输入框Jquery计算)
Jquery片段:
<script type="text/javascript">
function compute(nbBoxQuantity, lblQuantityPerBox, lblQuantity, nbPrice, lblTotalAmounts) {
if (nbBoxQuantity.value == "" || nbBoxQuantity.length == 0) {
nbBoxQuantity.value = 0;
}
if (lblQuantityPerBox.innerText == "" || lblQuantityPerBox.length == 0) {
lblQuantityPerBox.innerText(0);
}
if (nbPrice.value == "" || nbPrice.length == 0) {
nbPrice.value = 0;
}
if (lblQuantity.innerText == "" || lblQuantity.length == 0) {
lblQuantity.innerText(0);
}
lblQuantity.innerText = nbBoxQuantity.value * lblQuantityPerBox.innerText;
lblTotalAmounts.innerText = nbPrice.value * lblQuantity.innerText;
}
</script>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
前台片段:
<swc:DataGridView ID="dgvList" runat="server" DataKeyNames="ID"
AllowSorting="true" CurrentSortField="GoodsId"
OnRowDeleting="dgvList_RowDeleting" OnRowEditing="dgvList_RowEditing" OnRowDataBound="dgvList_RowDataBound" OnRowCommand="dgvList_RowCommand"
OnRowCancelingEdit="dgvList_RowCancelingEdit" OnRowUpdating="dgvList_RowUpdating">
<Columns>
<swc:TemplateField HeaderText="Id" Visible="false">
<ItemTemplate>
<asp:Literal runat="server" ID="ltlId"></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:Literal runat="server" ID="ltlId"></asp:Literal>
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="编号" Width="100" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal runat="server" ID="ltlGoodsCode"></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:Literal runat="server" ID="ltlGoodsCode"></asp:Literal>
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="名称" Width="100" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal runat="server" ID="ltlGoodsName"></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:Literal runat="server" ID="ltlGoodsName"></asp:Literal>
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="类型" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="ltlType" runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:Literal ID="ltlType" runat="server" />
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="赠品" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="ltlIsGift" runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlIsGift" runat="server">
<asp:ListItem Value="True">是</asp:ListItem>
<asp:ListItem Value="False">否</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="箱数" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="ltlBoxQuantity" runat="server" />
</ItemTemplate>
<EditItemTemplate>
<swc:NumberBox ID="nbBoxQuantity" runat="server" Digit="0" Width="60" />
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="每箱数" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblQuantityPerBox" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblQuantityPerBox" runat="server"></asp:Label>
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="数量" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblQuantity" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblQuantity" runat="server"></asp:Label>
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="单价" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="ltlPrice" runat="server" />
</ItemTemplate>
<EditItemTemplate>
<swc:NumberBox ID="nbPrice" runat="server" Digit="2" Width="60" />
</EditItemTemplate>
</swc:TemplateField>
<swc:TemplateField HeaderText="总价" Width="60" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblTotalAmounts" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblTotalAmounts" runat="server"></asp:Label>
</EditItemTemplate>
</swc:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" HeaderText="操作" HeaderStyle-Width="60" />
</Columns>
</swc:DataGridView>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
后台片段:
protected void dgvList_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
switch (row.RowType)
{
case DataControlRowType.DataRow:
SC_PurchaseItem item = row.DataItem as SC_PurchaseItem;
if (item.Id != Guid.Empty)
{
Literal ltlId = row.FindControl<Literal>("ltlId");
Literal ltlGoodsCode = row.FindControl<Literal>("ltlGoodsCode");
Literal ltlGoodsName = row.FindControl<Literal>("ltlGoodsName");
Literal ltlType = row.FindControl<Literal>("ltlType");
Label lblQuantityPerBox = row.FindControl<Label>("lblQuantityPerBox");
Label lblQuantity = row.FindControl<Label>("lblQuantity");
Label lblTotalAmounts = row.FindControl<Label>("lblTotalAmounts");
var good = bll.Get<M_Goods>(item.GoodsId);
ltlId.Text = item.Id.ToString();
ltlGoodsCode.Text = good.GoodsCode;
ltlGoodsName.Text = good.GoodsName;
ltlType.Text = good.GoodsType.ToText();
lblQuantityPerBox.Text = item.QuantityPerBox.ToString();
//if (e.Row.RowState == DataControlRowState.Edit)
if (e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit) || e.Row.RowState == DataControlRowState.Edit)
{
System.Web.UI.WebControls.DropDownList ddlIsGift = row.FindControl<System.Web.UI.WebControls.DropDownList>("ddlIsGift");
NumberBox nbBoxQuantity = row.FindControl<NumberBox>("nbBoxQuantity");
NumberBox nbPrice = row.FindControl<NumberBox>("nbPrice");
ddlIsGift.SelectedValue = item.IsGift.ToString();
nbBoxQuantity.Value = item.BoxQuantity.ToHtmlDecode();
nbPrice.Text = item.Price.ToHtmlDecode();
nbBoxQuantity.Attributes.Add("onchange", "compute(" + nbBoxQuantity.ClientID + "," + lblQuantityPerBox.ClientID + "," + lblQuantity.ClientID + "," + nbPrice.ClientID + "," + lblTotalAmounts.ClientID + ");");
nbPrice.Attributes.Add("onchange", "compute(" + nbBoxQuantity.ClientID + "," + lblQuantityPerBox.ClientID + "," + lblQuantity.ClientID + "," + nbPrice.ClientID + "," + lblTotalAmounts.ClientID + ");");
}
else
{
Literal ltlIsGift = row.FindControl<Literal>("ltlIsGift");
Literal ltlBoxQuantity = row.FindControl<Literal>("ltlBoxQuantity");
Literal ltlPrice = row.FindControl<Literal>("ltlPrice");
ltlIsGift.Text = item.IsGift ? "是" : "否";
ltlBoxQuantity.Text = item.BoxQuantity.ToHtmlDecode();
ltlPrice.Text = item.Price.ToHtmlDecode();
}
lblQuantity.Text = (item.BoxQuantity * item.QuantityPerBox).ToHtmlDecode();
lblTotalAmounts.Text = ((item.BoxQuantity * item.QuantityPerBox) * item.Price).ToHtmlDecode();
}
break;
}
}
protected void dgvList_RowCommand(object sender, GridViewCommandEventArgs e)
{
}
protected void dgvList_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
GridView gv = (GridView)sender;
string id = ((System.Web.UI.WebControls.Literal)gv.Rows[e.RowIndex].FindControl("ltlId")).Text;
SC_PurchaseItem entity = new SC_PurchaseItem
{
Id = new Guid(id),
UpdatedDate = DateTime.Now,
UpdatedUser = CurrentUser.DisplayName
};
PurchaseBll bll = new PurchaseBll();
bll.DeletePurchaseItem(entity);
this.BindGrid();
}
protected void dgvList_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView gv = (GridView)sender;
gv.EditIndex = e.NewEditIndex;
this.BindGrid();
}
protected void dgvList_Sorting(object sender, GridViewSortEventArgs e)
{
this.BindGrid();
}
protected void dgvList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
dgvList.EditIndex = -1;
this.BindGrid();
}
protected void dgvList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridView gv = (GridView)sender;
string id = ((System.Web.UI.WebControls.Literal)gv.Rows[e.RowIndex].FindControl("ltlId")).Text;
bool ddlIsGift = ((System.Web.UI.WebControls.DropDownList)gv.Rows[e.RowIndex].FindControl("ddlIsGift")).SelectedValue.As<bool>();
int nbBoxQuantity = ((NumberBox)gv.Rows[e.RowIndex].FindControl("nbBoxQuantity")).Value.As<int>();
int lblQuantity = ((Label)gv.Rows[e.RowIndex].FindControl("lblQuantity")).Text.As<int>();
decimal nbPrice = ((NumberBox)gv.Rows[e.RowIndex].FindControl("nbPrice")).Value.As<decimal>();
PurchaseBll bll = new PurchaseBll();
SC_PurchaseItem entity = new SC_PurchaseItem
{
Id = new Guid(id),
IsGift = ddlIsGift,
BoxQuantity = nbBoxQuantity,
Quantity = lblQuantity,
Price = nbPrice,
UpdatedDate = DateTime.Now,
UpdatedUser = CurrentUser.DisplayName
};
bll.UpdatePurchaseItem(entity);
gv.EditIndex = -1;
this.BindGrid();
}
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
Gridview编辑时Jquery自动计算自定义列(鼠标离开输入框Jquery计算)的更多相关文章
- jquery.datetimepicker.js 当鼠标离开时,不选中当前时间,以达到清空的目的
validateOnBlur:true 当鼠标离开时,不选中当前时间,以达到清空的目的 使用方法: // 时间设置 $('#BankProduct_sale_begin'). ...
- Asp.Net:GridView 编辑、删除、自定义分页以后备用
页面 GridView 绑定:在中,有 <asp:BoundField/>和 <asp:TemplateField><ItemTemplate>嵌套服务器控件 &l ...
- 在Gridview编辑时添加DropDownList控件并设置默认值
页面代码: <asp:GridView ID="GridView1" runat="server" AutoGenerateCol ...
- jquery自定义滚动条 鼠标移入或滚轮时显示 鼠标离开或悬停超时时隐藏
一.需求: 我需要做一个多媒体播放页面,左侧为播放列表,右侧为播放器.为了避免系统滚动条把列表和播放器隔断开,左侧列表的滚动条需要自定义,并且滚动停止和鼠标离开时要隐藏掉. 二.他山之石: 案例来自h ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- 利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动
查看本章节 查看作业目录 需求说明: 利用自定义动画 animate() 方法,实现某图书网站中"近 7 日畅销榜"中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠 ...
- EasyUI Datagrid 自定义列、Foolter及单元格编辑
1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); he ...
- GridView数据绑定控件的模版列时设置显示的格式
形式 语法 结果 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4} $12.3656 货币 "¥{0:N2}&q ...
- 在【自定义列】中编辑简单运算公式(Power Query 之 M 语言)
数据源: "品名"."数量"."单价"三列 目标: 计算销售单价(单价*1.2) 解决方案: 在[自定义列]中使用乘法四则运算 步骤: 打开 ...
随机推荐
- asp.net内置对象session和cookie
1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况 ...
- oracle 高级分组
oracle 高级分组 博客分类: 数据库基础 oraclesql 10.高级分组 本章目标: 对于增强的group by需要掌握: 1.使用rollup(也就是roll up累计的意思)操作产生s ...
- row_number() over (partition by....order by...)用法 分组排序
row_number() over (partition by....order by...)用法 分组排序 row_number() OVER (PARTITION BY COL1 ORDER BY ...
- 项目中引用ThinkPHP框架
ThinkPHP是一个宽度.兼容且简单的国产的轻量级框架,具有优良的性能,并且非常注重易用性. 那么,我们该如何将ThinkPHP引入自己的项目中,使得自己的项目可以使用这款优良的框架呢? 首先介绍下 ...
- J2SE知识点摘记(十九)
Collection 1.2.1 常用方法 Collection 接口用于表示任何对象或元素组.想要尽可能以常规方式处理一组元素时,就使用这一接口.Collection 在前面的大图也 ...
- 1.5 外部销售自动创建为内部PR
1.5 外部销售自动创建为内部PR 1.5.1 业务方案描述 外部销售订单登记后,在销售订单录入界面点击一个创建内部申请按钮,自动将外部销售订单创建为内部申请,创建后将不得再次创 ...
- junwong 9个杀手级 JVM 编程语言
http://www.oschina.net/question/213217_45561
- sql like 通配符 模糊查询技巧及特殊字符
最近碰到like模糊匹配的问题,找到一些答案接触迷惑,觉得有知识是自己忽略的,现在整理出来,既强化记忆,又是一次记录,以下转自一篇Blog,关于sql server like的通配符和字符带通配符的处 ...
- Walking Ant(bfs)
Walking Ant Time Limit: 2 Seconds Memory Limit: 65536 KB Ants are quite diligent. They sometime ...
- winds引导配置数据文件包含的os项目无效
我装了winds7与linux双系统,用easyBcd程序时,删除了一个winds7,之后winds7就进不去了, 进入winds7时显示winds未能启动,原因可能是最近更改了硬件或软件.解决此问题 ...