当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET MVC使用EasyUI的datagrid多选提交保存教程

ASP.NET MVC使用EasyUI的datagrid多选提交保存教程

2017年12月12日  | 移动技术网IT编程  | 我要评论

网游之重生法神txt下载,画家孙玉国,权倾一世txt下载

需要实现easyui的datagrid组件加入选择checkbox列,并提交后台批量添加的功能,页面代码如下:
复制代码 代码如下:

<script language="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
});
function searchinfo(val){
// var keytype=$('#keytype').combobox('getvalue');
var keytype = 'goods_name';
var keywords = val;
$('#selectgoods-grid').datagrid('reload', { keytype: keytype, keywords: keywords });
}
function saveselectgoods() {
var ids = [];
var rows = $('#selectgoods-grid').datagrid('getselections');
for (var i = 0; i < rows.length; i++) {
ids.push(rows[i].identifier);
}
var selectsupplier = '<%=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>
<div style="width:100%; height:100%">
<table id="selectgoods-grid" class="easyui-datagrid" fit="true" toolbar="#tlb_selectgoods_search" pagination="true"
rownumbers="true" fitcolumns="true" idfield="identifier">
<thead>
<tr>
<th field="ck" checkbox="true"></th>
<th field="identifier" hidden="true" width="0" editor="text">id</th>
<th field="goods_name" width="100" editor="{type:'validatebox',options:{required:true}}">商品名称</th>
<th field="chemistry" width="100" editor="{type:'validatebox',options:{required:true}}">化学指标</th>
<th field="physical" width="100" editor="{type:'validatebox',options:{required:true}}">物理指标</th>
<th field="partner_name" width="50" editor="{type:'validatebox',options:{required:true}}">合作状态</th>
</tr>
</thead>
</table>
<div id="tlb_selectgoods_search">
商品名称:<input name="keywords" id="selectgoods-keywords" class="easyui-searchbox" /><a href="#" class="easyui-linkbutton" iconcls="icon-save" plain="true" onclick="javascript:saveselectgoods()">保存</a>
</div>
</div>

asp.net mvc的controller代码如下:
复制代码 代码如下:

/// <summary>
/// 多选商品添加
/// </summary>
/// <param name="supplier">供货商id</param>
/// <returns></returns>
public actionresult selectgoods(string supplier)
{
viewdata["supplier"] = supplier;
return view();
}
/// <summary>
/// 保存批量添加的产品信息
/// </summary>
/// <param name="checks">选中的商品id</param>
/// <param name="supplier">供货商名称</param>
/// <returns></returns>
public jsonresult saveselect(string checks, string supplier)
{
jsonresult result = new jsonresult();
result.data = false;
try
{
if (string.isnullorempty(supplier))
return result;
suppliergoods goods = new suppliergoods();
goods.identifier = 0;
//拼装xml
string ids=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"));
business business = new businesslogic();
int id = business.save<suppliergoods>(goods);
if (goods.identifier == 0)
{
goods.identifier = id;
}
result.data = true;
return result;
}
catch (exception e)
{
return result;
}
}

存储过程利用xml变量对传入的xml类型的id集合进行批量添加保存到数据库中,存储过程代码如下:
复制代码 代码如下:

alter procedure [dbo].[view_suppliergoodscreate]
@identifier int,
@supplier_id int,
@goods_id int,
@isdefault int,
@create_date datetime,
@month_output float(8),
@goods_name nvarchar(400)=null,
@physical nvarchar(400)=null,
@chemistry nvarchar(400)=null,
@customers nvarchar(400)=null,
@equipment nvarchar(400)=null,
@note nvarchar(max)=null,
@detail_params nvarchar(400)=null
as
if @goods_id=-1
begin
--批量插入商品
declare @xml xml
set @xml=@note
insert into supplier_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
from base_goods
where
identifier in (select
t.id.value('.', 'int') as id
from
@xml.nodes('/xml/id') as t(id)) and identifier not in (select goods_id from supplier_goods where supplier_id=@supplier_id)
set @identifier=@goods_id
end

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网