ASP.NETMVC使用EasyUI的datagrid多选提交保存教程
2023-06-13 09:14:31 时间
需要实现EasyUI的datagrid组件加入选择checkbox列,并提交后台批量添加的功能,页面代码如下:
复制代码代码如下:
<scriptlanguage="javascript"type="text/javascript">
$(function(){
//searchbox
$("#selectgoods-keywords").searchbox({
searcher:function(val,name){
searchInfo(val);
}
});
//datagrid
$("#selectgoods-grid").datagrid({
url:"/Goods/List",
pageNumber:1,
pageSize:20,
pageList:[20,40,60,80,100]
});
//form
});
functionsearchInfo(val){
//varkeytype=$("#keyType").combobox("getValue");
varkeytype="Goods_Name";
varkeywords=val;
$("#selectgoods-grid").datagrid("reload",{keytype:keytype,keywords:keywords});
}
functionsaveSelectGoods(){
varids=[];
varrows=$("#selectgoods-grid").datagrid("getSelections");
for(vari=0;i<rows.length;i++){
ids.push(rows[i].Identifier);
}
varselectsupplier="<%=ViewData["supplier"]%>";
$.post("/SupplierGoods/SaveSelect",{supplier:selectsupplier,checks:ids.join(",")},function(data){
if(data){
$("#goodslist-grid").datagrid("reload");
$("#goodsInfo-window").window("close");
}else{
alert("保存失败!");
}
},"json");
}
</script>
<divstyle="width:100%;height:100%">
<tableid="selectgoods-grid"class="easyui-datagrid"fit="true"toolbar="#tlb_selectgoods_search"pagination="true"
rownumbers="true"fitColumns="true"idField="Identifier">
<thead>
<tr>
<thfield="ck"checkbox="true"></th>
<thfield="Identifier"hidden="true"width="0"editor="text">Id</th>
<thfield="Goods_Name"width="100"editor="{type:"validatebox",options:{required:true}}">商品名称</th>
<thfield="Chemistry"width="100"editor="{type:"validatebox",options:{required:true}}">化学指标</th>
<thfield="Physical"width="100"editor="{type:"validatebox",options:{required:true}}">物理指标</th>
<thfield="Partner_Name"width="50"editor="{type:"validatebox",options:{required:true}}">合作状态</th>
</tr>
</thead>
</table>
<divid="tlb_selectgoods_search">
商品名称:<inputname="keywords"id="selectgoods-keywords"class="easyui-searchbox"/><ahref="#"class="easyui-linkbutton"iconCls="icon-save"plain="true"onclick="javascript:saveSelectGoods()">保存</a>
</div>
</div>
ASP.NETMVC的Controller代码如下:
///<summary>
///多选商品添加
///</summary>
///<paramname="supplier">供货商ID</param>
///<returns></returns>
publicActionResultSelectGoods(stringsupplier)
{
ViewData["supplier"]=supplier;
returnView();
}
///<summary>
///保存批量添加的产品信息
///</summary>
///<paramname="checks">选中的商品ID</param>
///<paramname="supplier">供货商名称</param>
///<returns></returns>
publicJsonResultSaveSelect(stringchecks,stringsupplier)
{
JsonResultresult=newJsonResult();
result.Data=false;
try
{
if(String.IsNullOrEmpty(supplier))
returnresult;
SupplierGoodsgoods=newSupplierGoods();
goods.Identifier=0;
//拼装xml
Stringids=Communion.StringHelper.BuildXmlID(checks);
goods.Goods_ID=-1;//标示批量插入
goods.Note=ids;
goods.Month_Output=Convert.ToDouble(String.IsNullOrEmpty(this.ReadFromRequest("Month_Output"))?"0":this.ReadFromRequest("Month_Output"));
goods.Supplier_ID=Convert.ToInt32(supplier);
goods.Create_Date=DateTime.Now;
goods.Customers=this.ReadFromRequest("Customers");
goods.Equipment=this.ReadFromRequest("Equipment");
goods.Detail_Params=this.ReadFromRequest("Detail_Params");
goods.IsDefault=Convert.ToInt32(String.IsNullOrEmpty(this.ReadFromRequest("IsDefault"))?"0":this.ReadFromRequest("IsDefault"));
Businessbusiness=newBusinessLogic();
intid=business.Save<SupplierGoods>(goods);
if(goods.Identifier==0)
{
goods.Identifier=id;
}
result.Data=true;
returnresult;
}
catch(Exceptione)
{
returnresult;
}
}
存储过程利用xml变量对传入的xml类型的ID集合进行批量添加保存到数据库中,存储过程代码如下:
ALTERPROCEDURE[dbo].[View_SupplierGoodsCreate]
@Identifierint,
@Supplier_IDint,
@Goods_IDint,
@isDefaultint,
@Create_Datedatetime,
@Month_Outputfloat(8),
@Goods_Namenvarchar(400)=NULL,
@Physicalnvarchar(400)=NULL,
@Chemistrynvarchar(400)=NULL,
@Customersnvarchar(400)=NULL,
@Equipmentnvarchar(400)=NULL,
@Notenvarchar(MAX)=NULL,
@Detail_Paramsnvarchar(400)=NULL
AS
IF@Goods_ID=-1
BEGIN
--批量插入商品
DECLARE@xmlxml
SET@xml=@Note
INSERTINTOSupplier_Goods(Supplier_ID,Goods_ID,Create_Date,Month_Output,Customers,Equipment,Note,isdefault,Detail_Params)
SELECT@Supplier_ID,identifier,@Create_Date,0,null,null,null,0,null
FROMBase_Goods
WHERE
Identifierin(Select
T.ID.value(".","int")AsID
From
@xml.nodes("/XML/ID")asT(ID))andIdentifiernotin(selectgoods_idfromSupplier_GoodswhereSupplier_ID=@Supplier_ID)
SET@Identifier=@Goods_ID
END
相关文章
- easyui(一) 初始easyui「建议收藏」
- easyui window refresh 刷新两次解决办法
- php和asp网络验证码,Verifycode 1个简单的网页图片验证码的示例程序,基本上现有 字和字母都可以识别。 WEB(ASP,PHP,…) 238万源代码下载- www.pudn.com…
- 技术汇总:第四章:使用Easyui做三级下拉列表
- EasyUI combobox 多选及回显赋值详解编程语言
- EasyUI DataGrid可编辑单元格详解编程语言
- EasyUI Editable Tree详解编程语言
- jQuery easyui刷新当前tabs详解编程语言
- easyui tree在struts1中的使用详解编程语言
- 关于easyui和ext选择问题,做出如下见解详解编程语言
- .netLinux下部署ASP.NET环境指南(linux部署asp)
- EasyUI:获取某个dategrid的所有行数据详解编程语言
- Easyui学习整理笔记详解编程语言
- EasyUI DataGrid实现单选且选择后可取消选择详解编程语言
- EasyUI DataGrid 通过index获取行的内容详解编程语言
- 简单使用EasyUI使MySQL更便捷(easyuimysql)
- asp构建基于SQL Server和ASP的全新应用(sqlserver 和)
- ASP连接MySQL失败排查与解决方案(asp连接mysql失败)
- 在MySQL5中使用ASP搭建数据库连接(asp连接mysql5)
- ASP动态连接MySQL数据库(asp 连mysql)
- ASP与MySQL的结合创造巨大可能性(asp结合mysql)
- ASP登录注册实现MySQL用户管理(asp登录注册mysql)
- 如何使用ASP添加MySQL引用(asp添加mysql引用)
- 使用MySQL轻松实现ASP数据库应用(asp数据库用mysql)
- 数据ASP解析MySQL中文数据实现无缝互联(asp接受mysql中文)
- 建立企业级应用ASP系统与Oracle技术配合的良好实践(asp系统oracle)
- ASP操作Oracle 轻松实现查询驱动结果(asp查询oracle)
- ASP程序从Oracle数据库精挖宝贵资源(asp取oracle数据)
- 讲解ASP方面的知识比较全的asp学习教程
- asp下连接数据库ASP链接数据库字符串大全总结
- asp.net(C#)动态添加非ASP的标准html控件(如添加Script标签)
- 扩展easyui.datagrid,添加数据loading遮罩效果代码
- EasyUI的treegrid组件动态加载数据问题的解决办法
- Asp.net配合easyui实现返回json数据实例
- jQuery前端框架easyui使用Dialog时bug处理