eFrameWork官网 注册  登录
eFrameWork框架
联系我们




 eFrameWork功能扩展-实现批量删除功能

作者:EKETEAM 发布日期:2019-02-22 人气:78
效果:

1.表头添加复选框(实现全选和取消),将该列设为列表第1列,
基本设置-自定义列添加一列

名称完整HTML:<input type="checkbox" name="selallitem" value="" onclick="selectAllItem(this);" />
列表将该列HTML格式设置为(取数据主键值):<input type="checkbox" name="selitem" value="{data:id}" />
2.JS->公共 标签下加入javascript代码
当然,如果很多模块都需要给批量删除,JS代码可新建一个JS文件来存放,在Init.js中来引用.
不建议放在框架的JS文件中,防止更新框架时把您自定义的代码覆盖。
//根据表头复选框状态全选或取消选择。
function selectAllItem(obj)
{
    $("input[name='selitem']").attr("checked",obj.checked);
};
//取得所选数据主键组合成ids参数提交到模块程序处理。
function deleteMore()
{
    var sels=$("input[name='selitem']:checked");
    if(sels.length==0)
    {
        alert("请选择要删除的数据!");
        return;
    }
    var _back=confirm('确认要删除所选数据吗?');
    if(!_back){return;};
       
    var ids="";
    for(var i=0;i     {
        if(i>0){ids+=",";}
        ids+=sels[i].value;
    }
    var url=document.location.href;
    url+="&act=delmore&ids=" + ids;   
    document.location.assign(url);
};
3.在Model.aspx中加入执行
deleteMore()的按钮
//有删除权限及允许批量删除的模块
<%
if (model.Power["del"].ToString().ToLower() == "true" &&
ModelID=="b1fcd1f5-d8d9-4b01-848f-6cac2134a63f")
{
    Response.Write("<a style=\"float:right;margin-top:10px;margin-left:20px;\" class=\"button\" href=\"javascript:;\" onclick=\"deleteMore();\"><span style=\"letter-spacing:0px;\"><i class=\"del\">删除所选</i></span></a>");   
}
%>
4.在Model.aspx.cs中加入代码
switch (model.Action.Value) 下
case "delmore":
if (Request.UrlReferrer != null)
{
      string ids = eParameters.QueryString("ids");
      ids = "'" + ids.Replace(",", "','") + "'";

      eTable etb = new eTable(model.eForm.TableName, user);
      etb.Where.Add(model.eForm.primaryKey + " in (" + ids + ")");
      etb.Delete();
      Response.Redirect(Request.UrlReferrer.PathAndQuery, true);
}
break;

 ↓ 评论信息

暂时还没有评论!

 ↑ 发表评论

登录 后评论!
版权所有 © 2016-2020 中国E客 EKETEAM.COM