通常、ツリーグリッド アイコンは、以下に示すようにデフォルトのフォルダーとファイルの形式になっています。
json テキストに iconCls を追加して、デフォルトのアイコンを変更できます。たとえばサンプルでは、
​{"total":7,"rows":[ {"id":1,"name":"All Tasks","begin":"3/4/2010","end":"3/20/2010","progress":60,"iconCls":"icon-ok"}, {"id":2,"name":"Designing","begin":"3/4/2010","end":"3/10/2010","progress":100,"_parentId":1,"state":"closed"}, {"id":21,"name":"Database","persons":2,"begin":"3/4/2010","end":"3/6/2010","progress":100,"_parentId":2}, {"id":22,"name":"UML","persons":1,"begin":"3/7/2010","end":"3/8/2010","progress":100,"_parentId":2}, {"id":23,"name":"Export Document","persons":1,"begin":"3/9/2010","end":"3/10/2010","progress":100,"_parentId":2}, {"id":3,"name":"Coding","persons":2,"begin":"3/11/2010","end":"3/18/2010","progress":80}, {"id":4,"name":"Testing","persons":1,"begin":"3/19/2010","end":"3/20/2010","progress":20} ],"footer":[ {"name":"Total Persons:","persons":7,"iconCls":"icon-sum"} ]}
次に、icon.css を変更し、使用するアイコンを指定したフォルダーに配置します。
通常、このような変更を加えた後、treegrid はデザインしたアイコンを表示できます。
この時点で設定したアイコンが表示できない場合は、ページ上で icon.css と easyui.css が導入されている順序を確認して、easyui.css が最初で、icon.css が最後であることを確認してください。そうしないと、easyui.css のスタイルが icon.css を上書きし、デフォルトのアイコンが表示されたままになります。
jQuery EasyUI のツリーグリッドの追加、削除、変更、チェックコードを紹介します
<script type="text/javascript"> function formatProgress(value){ if (value){ var s = '<div style="width:100%;border:1px solid #ccc">' + '<div style="width:' + value + '%;background:#cc0000;color:#fff">' + value + '%' + '</div>' '</div>'; return s; } else { return ''; } } var editingId; function deleteRow(){ if (editingId != undefined){ $('#tg').treegrid('select', editingId); return; } var row = $('#tg').treegrid('getSelected'); if (row){ editingId = row.id $('#tg').treegrid('remove', editingId); $('#tg').treegrid('reloadFooter'); } $(".actionbtn").toggleClass("l-btn-disabled"); } function edit(){ if (editingId != undefined){ $('#tg').treegrid('select', editingId); return; } var row = $('#tg').treegrid('getSelected'); if (row){ editingId = row.id $('#tg').treegrid('beginEdit', editingId); } $(".actionbtn").toggleClass("l-btn-disabled"); } function insert(){ if (editingId != undefined){ $('#tg').treegrid('select', editingId); return; } /**/ var rows = $('#tg').treegrid('getChildren'); editingId = rows.length+1; var row = null; var _data = {"id":editingId,"name":"new name","persons":0,"begin":"3/19/2010","end":"3/20/2010","progress":10}; var _parentId = 0; var row = $('#tg').treegrid('getSelected'); if (row){ $('#tg').treegrid('expand',row.id); _parentId = row.id; }else{ var root = $('#tg').treegrid('getRoot'); _parentId = null; } $('#tg').treegrid('append',{ parent: _parentId, // 这里指定父级标识就可以了 data: [_data] }); $('#tg').treegrid('beginEdit',_data.id); $(".actionbtn").toggleClass("l-btn-disabled"); } function save(){ if (editingId != undefined){ var t = $('#tg'); t.treegrid('endEdit', editingId); editingId = undefined; var persons = 0; var rows = t.treegrid('getChildren'); for(var i=0; i<rows.length; i++){ var p = parseInt(rows[i].persons); if (!isNaN(p)){ persons += p; } } var frow = t.treegrid('getFooterRows')[0]; frow.persons = persons; t.treegrid('reloadFooter'); $(".actionbtn").toggleClass("l-btn-disabled"); } } function cancel(){ if (editingId != undefined){ $('#tg').treegrid('cancelEdit', editingId); editingId = undefined; } $(".actionbtn").toggleClass("l-btn-disabled"); } </script> <div style="margin:10px 0;"> <a href="javascript:void(0)" disabled="disabled" class="easyui-linkbutton actionbtn" onclick="save()">Save</a> <a href="javascript:void(0)" disabled="disabled" class="easyui-linkbutton actionbtn" onclick="cancel()">Cancel</a> </div>