此代码转载:
http://www.cnblogs.com/XiaoGer/archive/2012/06/05/2537047.html
$.extend($.fn.datagrid.methods, { |
02 | addToolbarItem: function (jq, items){ |
03 | return jq.each( function (){ |
04 | var toolbar = $( this ).parent().prev( "div.datagrid-toolbar" ); |
05 | for ( var i = 0;i<items.length;i++){ |
06 | var item = items[i]; |
07 | if (item === "-" ){ |
08 | toolbar.append( '<div class="datagrid-btn-separator"></div>' ); |
09 | } else { |
10 | var btn=$( "<a href=\"javascript:void(0)\"></a>" ); |
11 | btn[0].onclick=eval(item.handler|| function (){}); |
12 | btn.css( "float" , "left" ).appendTo(toolbar).linkbutton($.extend({},item,{plain: true })); |
13 | } |
14 | } |
15 | toolbar = null ; |
16 | }); |
17 | }, |
18 | removeToolbarItem: function (jq, param){ |
19 | return jq.each( function (){ |
20 | var btns = $( this ).parent().prev( "div.datagrid-toolbar" ).children( "a" ); |
21 | var cbtn = null ; |
22 | if ( typeof param == "number" ){ |
23 | cbtn = btns.eq(param); |
24 | } else if ( typeof param == "string" ){ |
25 | var text = null ; |
26 | btns.each( function (){ |
27 | text = $( this ).data().linkbutton.options.text; |
28 | if (text == param){ |
29 | cbtn = $( this ); |
30 | text = null ; |
31 | return ; |
32 | } |
33 | }); |
34 | } |
35 | if (cbtn){ |
36 | var prev = cbtn.prev()[0]; |
37 | var next = cbtn.next()[0]; |
38 | if (prev && next && prev.nodeName == "DIV" && prev.nodeName == next.nodeName){ |
39 | $(prev).remove(); |
40 | } else if (next && next.nodeName == "DIV" ){ |
41 | $(next).remove(); |
42 | } else if (prev && prev.nodeName == "DIV" ){ |
43 | $(prev).remove(); |
44 | } |
45 | cbtn.remove(); |
46 | cbtn= null ; |
47 | } |
48 | }); |
49 | } |
50 | }); |
用法:
1 | $( '#tt' ).datagrid( "addToolbarItem" ,[{ "text" : "xxx" }, "-" ,{ "text" : "xxxsss" , "iconCls" : "icon-ok" }]) |
1 | $( '#tt' ).datagrid( "removeToolbarItem" , "GetChanges" ) //根据btn的text删除 |
1 | $( '#tt' ).datagrid( "removeToolbarItem" ,0) //根据下标删除 |
你可以看到相关的原理,通过原理你可以就可以自定义带分割线,带搜索栏的任意组合的布局了。