以部门为例:
1、部门的列表配置(含增删改查的按钮及删除的实现)
<?xml version="1.0" encoding="utf-8"?>
<root>
<myquery title="{0}部门信息列表" islogicdeal="false" isfirstload="true" allowsorting="true" allowpaging="true" pagervisible="true" >
<title parameters="parentid">
select name from S_Dep where id='{0}'
</title>
<select keycolumnnames="id" ismultiselect="false" issingleselect="true" isshowrownum="false" sortdirection="ascending">
<column name="id" title="编号" width="40px">
s_dep.id
</column>
<column name="name" title="名称">
s_dep.name
</column>
<column name="manager" title="负责人" width="180px">
s_user.name
</column>
<column name="sn" title="排序" width="40px">
s_dep.sn
</column>
<column name="iflag" title="状态" width="40px" sort="s_dep.iflag">
case when s_dep.iflag=1 then '' else '停用' end
</column>
</select>
<from type="table">
<table title="部门表">s_dep</table>
<table title="人员表">left join s_user on s_dep.manager=s_user.id</table>
</from>
<where isparameter="true" isshowappend="true" issession="false">
<append type="default">
and s_dep.parentid is not null
</append>
<append type="sql" name="sql" title="角色数据权限:">
<sql>
<![CDATA[select max(S_Role.DataScope)
from S_Role
inner join S_RoleUser on S_RoleUser.roleid=S_Role.id
where S_RoleUser.uid='#USERID#']]>
</sql>
<value when="" title="所在部门的" where="#USERDEPID#%"><![CDATA[and s_dep.id like {0}]]></value>
<value when="0" title="所在部门的" where="#USERDEPID#%"><![CDATA[and s_dep.id like {0}]]></value>
<value when="1" title="所在部门的" where="#USERDEPID#%"><![CDATA[and s_dep.id like {0}]]></value>
</append>
<append type="querystring" name="parentid" title="上级为所选部门">
and s_dep.parentid={0}
</append>
<colgroup>
<col width="80px">
</col>
<col width="100px">
</col>
<col width="80px">
</col>
<col>
</col>
</colgroup>
<column name="name" title="部门名称" width="100px" target="all" cssclass="input_text">
and s_dep.name like {0}
</column>
<column name="iflag" title="状态" type="selectint" dataformat=",全部" urlformatstring="1,启用;0,停用">
and s_dep.iflag={0}
</column>
</where>
<order>
s_dep.id
</order>
<buttons>
<button name="btnAdd" title="新 增" type="dialog" cssclass="input_button" windowwidth="350" windowheight="350" parameters="parentid">
tmp/MyEdit.aspx?n=editdep
</button>
<button name="btnEdit" title="编 辑" type="dialog" cssclass="input_button" isselectedrow="true" windowwidth="350" windowheight="350">
tmp/MyEdit.aspx?n=editdep&id={0}
</button>
<button name="toexcel" title="导出Excel" type="toexcel" cssclass="input_button">
</button>
<button name="delnot" title="删 除" type="runsql" isselectedrow="true" cssclass="input_button" confirminfo="确认删除选中的记录吗?">
<sql>select case when count(*)>0 then 1 else 0 end from s_user where depid='{0}'</sql>
<sql value="1" title="选择记录停用成功">update s_dep set iflag=0 where id='{0}'</sql>
<sql value="0">delete from s_dep where parentid='{0}'</sql>
<sql value="0" title="选择记录删除成功">delete from s_dep where id='{0}'</sql>
</button>
<button name="btnUser" title="人员管理" type="redirect" cssclass="input_button" isselectedrow="true">
tmp/MyQuery.aspx?n=listuser&depid={0}
</button>
<button name="btnSun" title="下级部门管理" type="redirect" cssclass="input_button" isselectedrow="true">
tmp/MyQuery.aspx?n=listdep&parentid={0}
</button>
<button name="btnReturn" title="返 回" type="redirect" cssclass="input_button">
tmp/myQuery.aspx?n=listdep&parentid=
</button>
</buttons>
</myquery>
2、部门编辑的配置
<?xml version="1.0" encoding="utf-8"?>
<root>
<myquery title="部门信息" pagesize="0">
<select>
<colgroup>
<col width="100px">
</col>
<col>
</col>
</colgroup>
<column name="id" title="部门编号" width="200px" maxlength="20" visible="false" cssclass="input_text">
<validates>
<validate type="js" scope="add">checkid()</validate>
<validate type="isexit" title="编号已经存在不能重复" scope="add">
</validate>
</validates>
</column>
<column name="name" title="名称" width="200px" maxlength="25" cssclass="input_text">
<validates>
<validate type="isnotnull">
</validate>
</validates>
</column>
<column name="manager" title="负责人" width="200px" type="textajax" urlformatstring="/WebService.asmx" usefields="GetUserNameList" dataformat="{0:ID}" maxlength="1" cssclass="text_ajax">
<validates>
<validate type="isnotnull" scope="edit">
</validate>
<validate type="servervalidate" title="人员必须存在" scope="edit">
LTKJ.BAL.QueryValidate
</validate>
</validates>
</column>
<column name="parentid" title="上级部门" width="205px" type="select" dataformat=",保定市" urlformatstring="sql:select id,case when parentid='' then '' else ' ' end+name from s_dep where iflag=1 and ParentID is not null order by id,sn" cssclass="select">
</column>
<column name="sn" title="排序" type="textint" width="100px" maxlength="6" value="0" cssclass="input_num">
<validates>
<validate type="isnotnull">
</validate>
</validates>
</column>
<column name="iflag" title="状态" width="205px" type="selectint" urlformatstring="1,启用;0,停用">
</column>
<javascript>
<![CDATA[function checkid()
{
var objid = document.getElementById('id');
if (objid)
{
if (objid.value.search(/^[0-9a-zA-Z]+$/)==-1)
{
alert('不是有效的部门编号,不能为空且必须为字母和数字');
objid.select();
objid.focus();
return false;
}
}
var objparentid = document.getElementById('parentid');
if (objid && objparentid && objparentid.value!='0')
{
if (objid.value.indexOf(objparentid.value)!=0 || objid.value.length<=objparentid.value.length)
{
alert("编号必须以上级部门的编号作为开始,如"+objparentid.value+"01");
objid.select();
objid.focus();
return false;
}
}
return true;
}]]>
</javascript>
</select>
<from type="table">
<table title="部门表">s_dep</table>
</from>
<where isparameter="true">
<append type="querystring" name="id">
id={0}
</append>
</where>
<buttons>
<button name="save" title="提 交" type="save" cssclass="input_button">
</button>
<button name="btnReturn" title="取 消" type="doscript" cssclass="input_button">
window.opener=null;window.open('','_self');window.close();
</button>
</buttons>
</myquery>
欢迎访问:http://121.18.78.216 适易查询分析、工作流、内容管理及项目管理演示平台