-
Notifications
You must be signed in to change notification settings - Fork 64
Expand file tree
/
Copy patheasyui-treegrid.java
More file actions
341 lines (263 loc) · 6.2 KB
/
easyui-treegrid.java
File metadata and controls
341 lines (263 loc) · 6.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
-------------------------
EasyUI-treegrid |
-------------------------
# 树形表格用于显示分层数据表格。它是基于数据表格、组合树控件和可编辑表格。树形表格允许用户创建可定制的、异步展开行和显示在多列上的分层数据。
# 继承关系
datagrid
-------------------------
EasyUI-treegrid 属性 |
-------------------------
'树形表格扩展自datagrid(数据表格),树形表格新增的属性如下:'
idField
* 定义关键字段来标识树节点。(必须的)
treeField
* 定义树节点字段。(必须的)
animate
* 定义在节点展开或折叠的时候是否显示动画效果。
checkbox
* 定义在每一个节点前显示复选框,也可以指定一个函数来动态指定是否显示复选框,但函数返回true的时候则显示,否则不显示。
* demo
$('#tg').treegrid({
checkbox: function(row){
var names = ['Java','eclipse.exe','eclipse.ini'];
if ($.inArray(row.name, names)>=0){
return true;
}
}
})
cascadeCheck
* 是否级联检查
onlyLeafCheck
* 是否仅在叶子节点显示复选框
lines
* 定义是否显示treegrid行。
loader
* 定义以何种方式从远程服务器读取数据。返回false可以忽略该动作。该函数具有一下参数:
param //传递到远程服务器的参数对象。
success(data) //当检索数据成功的时候调用的回调函数。
error() //当检索数据失败的时候调用的回调函数。
loadFilter
* 返回过滤后的数据进行展示。
* function(data,parentId){}
-------------------------
EasyUI-treegrid 事件 |
-------------------------
'树形表格的事件扩展自datagrid(数据表格),树形表格新增的时间如下:'
onClickRow
* 在用户点击节点的时候触发。
* 参数:row
onDblClickRow
* 在用户双击节点的时候触发。
* 参数:row
onClickCell
* 在用户点击单元格的时候触发。
* 参数:field,row
onDblClickCell
* 在用户双击单元格的是时候触发
* 参数:field,row
onBeforeLoad
* 在请求数据加载之前触发,返回false可以取消加载动作。
* 参数:row, param
onLoadSuccess
* 数据加载完成之后触发。
* 参数:row, data
onLoadError
* 数据加载失败的时候触发,参数和jQuery的$.ajax()函数的'error'回调函数一样。
onBeforeSelect
* 在用户选择一行之前触发,返回false则取消该动作。
* 参数:row
onSelect
* 在用户选择的时候触发,返回false则取消该动作。
* 参数:row
onBeforeUnselect
* 在用户取消选择一行之前触发,返回false则取消该动作。(
* 参数:row
onUnselect
* 在用户选中一行节点之前触发,返回false则取消该动作
* 参数:row
onBeforeCheckNode
* 在用户选中一行节点之前触发,返回false则取消该动作
* 参数:row,checked
onCheckNode
* 在用户选中一行节点的时候触发,返回false则取消该动作。
* 参数:row,checked
onBeforeExpand
* 在节点展开之前触发,返回false可以取消展开节点的动作。
* 参数:row
onExpand
* 在节点被展开的时候触发。
* 参数:row
onBeforeCollapse
* 在节点折叠之前触发,返回false可以取消折叠节点的动作。
* 参数:row
onCollapse
* 在节点被折叠的时候触发。
* 参数:row
onContextMenu
* 在右键点击节点的时候触发。
* 参数:e, row
onBeforeEdit
* 在用户开始编辑节点的时候触发。
* 参数:row
onAfterEdit
* 在用户完成编辑的时候触发。
* 参数:row,changes
onCancelEdit
* 在用户取消编辑节点的时候触发。
* 参数:row
-------------------------
EasyUI-treegrid 方法 |
-------------------------
'很多方法都使用'id'命名参数,而'id'参数代表树节点的值。 '
options
* 返回树形表格属性
resize
* 设置树形表格大小,options包含2个属性:
width //树形表格的新宽度。
height //树形表格的新高度。
fixRowHeight
* 修正指定的行高。
* 参数:id
load
* 读取并显示首页内容
* 参数:param
* demo
// 读取并发送请求参数
$('#tg').treegrid('load', {
q: 'abc',
name: 'name1'
});
loadData
* 读取树形表格数据。
* 参数:data
reload
* 重新加载树形表格数据。如果'id'属性有值,将重新载入指定树形行,否则重新载入所有行。
* demo
$('#tt').treegrid('reload', 2); // 重新载入值为2的行
$('#tt').treegrid('reload'); // 重新载入所有行
reloadFooter
* 重新载入页脚数据。
* 参数:footer
getData
* 获取载入数据。
getFooterRows
* 获取页脚数据。
getRoot
* 获取根节点,返回节点对象。
getRoots
* 获取所有根节点,返回节点数组。
getParent
* 获取父节点。
* 参数:id
getChildren
* 获取子节点
* 参数:id
getSelected
* 获取选择的节点并返回它,如果没有节点被选中则返回null。
getSelections
* 获取所有选择的节点。
getLevel
* 获取指定节点等级。
* 参数:id
find
* 查找指定节点并返回节点数据。
* 参数:id
select
* 选择一个节点。
* 参数:id
unselect
* 反选一个节点。
* 参数:id
selectAll
* 选择所有节点。
unselectAll
* 反选所有节点。
collapse
* 这堆一个节点
* 参数:id
expand
* 展开一个节点。
* 参数:id
collapseAll
* 折叠所有节点。
* 参数:id
expandAll
* 展开所有节点。
* 参数:id
expandTo
* 打开从根节点到指定节点之间的所有节点。
* 参数:id
toggle
* 节点展开/折叠状态触发器。
append
* 追加节点到一个父节点,'param'参数包含如下属性:
parent //父节点ID,如果未指定则追加到根节点。
data //数组,节点数据。
* demo
// 追加若干节点到选中节点的后面var node = $('#tt').treegrid('getSelected');
$('#tt').treegrid('append',{
parent: node.id, // the node has a 'id' value that defined through 'idField' property
data: [{
id: '073',
name: 'name73'
}]
});
insert
* 插入一个新节点到指定节点。'param'参数包含一下参数:
before //插入指定节点ID值之前。
after //插入指定节点ID值之后。
data //新节点数据。
* demo
// 插入一个新节点到选择的节点之前
var node = $('#tt').treegrid('getSelected');
if (node){
$('#tt').treegrid('insert', {
before: node.id,
data: {
id: 38,
name: 'name38'
}
});
}
remove
* 移除一个节点和他的所有子节点。
* 参数:id
pop
* 弹出并返回节点数据以及它的子节点之后删除。
* 参数:id
refresh
* 刷新指定节点。
* 参数:id
update
* 更新指定节点。'param'参数包含以下属性:
id //要更新的节点的ID。
row //新的行数据
* demo
$('#tt').treegrid('update',{
id: 2,
row: {
name: '新名称',
iconCls: 'icon-save'
}
});
beginEdit
* 开始编辑一个节点。
* 参数:id
endEdit
* 结束编辑一个节点。
* 参数:id
cancelEdit
* 取消编辑一个节点。
* 参数:id
getEditors
* 获取指定行编辑器。每个编辑器都包含以下属性:
actions //编辑器执行的动作。
target //目标编辑器的jQuery对象。
field //字段名称。
type //编辑器类型。
getEditor
* 获取指定编辑器,'param'参数包含2个属性:
id //行节点ID。
field //字段名称。
showLines
* 显示treegrid行。