<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>树形联动</title>
<link href="../demo.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body{
margin:0;padding:0;border:0;width:100%;height:100%;overflow:hidden;
}
</style>
<script src="../../scripts/boot.js" type="text/javascript"></script>
<!--引入皮肤样式-->
<link href="../../scripts/miniui/themes/blue/skin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="mini-splitter" style="width:100%;height:100%;">
<div size="240" showCollapseButton="true">
<div class="mini-toolbar" style="padding:2px;border-top:0;border-left:0;border-right:0;">
<span style="padding-left:5px;">名称:</span>
<input class="mini-textbox" />
<a class="mini-button" iconCls="icon-search" plain="true">查找</a>
</div>
<div class="mini-fit">
<ul id="tree1" class="mini-tree" url="../data/deptTree.txt" style="width:100%;" showTreeIcon="true" textField="name" idField="id"
parentField="pid" resultAsTree="false" >
</ul>
</div>
</div>
<div showCollapseButton="true">
<div class="mini-toolbar" style="padding:2px;border-top:0;border-left:0;border-right:0;">
<a class="mini-button" iconCls="icon-add" plain="true" onclick="addRow()">新增</a>
<a class="mini-button" iconCls="icon-remove" plain="true" onclick="removeRow()">删除</a>
<span class="separator"></span>
<a class="mini-button" iconCls="icon-save" plain="true" onclick="saveData()">保存</a>
</div>
<div class="mini-fit" >
<div id="grid1" class="mini-datagrid" style="width:100%;height:100%;" borderStyle="border:0;" url="../data/AjaxService.aspx?method=GetDepartmentEmployees" showFilterRow="true" allowCellSelect="true" allowCellEdit="true" >
<div property="columns">
<div field="loginname" width="120" headerAlign="center" allowSort="true">员工帐号
<input property="editor" class="mini-textbox" style="width:100%;"/>
</div>
<div field="name" width="120" headerAlign="center" allowSort="true">员工姓名
<input property="editor" class="mini-textbox" style="width:100%;"/>
<input id="nameFilter" property="filter" class="mini-textbox" onvaluechanged="onNameFilterChanged" style="width:100%;" /> </div>
<div field="gender" width="100" allowSort="true" renderer="onGenderRenderer" align="center" headerAlign="center">性别
<input property="editor" class="mini-combobox" style="width:100%;" data="Genders"/>
</div>
<div field="age" width="100" allowSort="true">年龄
<input property="editor" class="mini-spinner" minValue="0" maxValue="200" value="25" style="width:100%;"/>
</div>
<div field="birthday" width="100" allowSort="true" dateFormat="yyyy-MM-dd">出生日期
<input property="editor" class="mini-datepicker" style="width:100%;"/>
</div>
<div field="createtime" width="100" headerAlign="center" dateFormat="yyyy-MM-dd" allowSort="true">创建日期</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
mini.parse();
var tree = mini.get("tree1");
var grid = mini.get("grid1");
tree.on("nodeselect", function (e) {
if (e.isLeaf) {
grid.load({ dept_id: e.node.id });
} else {
grid.setData([]);
grid.setTotalCount(0);
}
});
//////////////////////////////////////////////
var Genders = [{ id: 1, text: '男' }, { id: 2, text: '女'}];
function onGenderRenderer(e) {
for (var i = 0, l = Genders.length; i < l; i++) {
var g = Genders[i];
if (g.id == e.value) return g.text;
}
return "";
}
function onNameFilterChanged(e) {
var textbox = e.sender;
var key = textbox.getValue();
var node = tree.getSelectedNode();
if (node) {
grid.load({ dept_id: node.id, key: key });
}
}
function addRow() {
var node = tree.getSelectedNode();
if (node) {
var newRow = { name: "New Row" };
newRow.dept_id = node.id;
grid.addRow(newRow, 0);
}
}
function removeRow() {
var rows = grid.getSelecteds();
if (rows.length > 0) {
grid.removeRows(rows, true);
}
}
function saveData() {
var data = grid.getChanges();
var json = mini.encode(data);
grid.loading("保存中,请稍后......");
$.ajax({
url: "../data/AjaxService.aspx?method=SaveEmployees",
data: { data: json },
type: "post",
success: function (text) {
grid.reload();
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}
});
}
</script>
</body> </html>