| 
			
				|  Show Posts |  
				| Pages: [1] |  
			
				| 
						
							| 2 | General Category / Bug Report / Setting value for datagrid bug | on: December 05, 2014, 08:43:27 PM |  
							| Dear admins: When I upgraded jQueryEasyUI 1.3.6 to 1.4.1, I found something wrong in my project. {field:'xxxId', title:'YYY', hidden:'true', align:'center', width:50, editor:'text'},{field:'aaaaName', title:'XXX', align:'center', width:250, sortable:true,
 editor:{
 type:'combobox',
 options:{
 valueField:'aaaaName',
 panelWidth: 250,
 idField: 'id',
 textField: 'bbbbName',
 url: 'xxx.do?method=getXXX',
 striped:true,
 editable: false,
 onSelect: onSelectAAAName,
 required:true
 }
 }
 },
 
 
 function onSelectAAAName(rec){
 
 var ed = $('#dataForm').datagrid('getEditor', {index:editIndex, field:'xxxId'});
 $(ed.target).val(rec.id); //for 1.3.6   it doesn't work in 1.4.1
 //$(ed.target).numberbox('setValue', rec.id); //for 1.4.1  I shound use this line instead
 }
 
 
And then  when I saved my data,  I found "row.xxxId" is null in 1.4.1.  So I changed my code to use "$(ed.target).numberbox('setValue', rec.id)", and it worked. |  
							|  |  |  
			
				| 
						
							| 3 | General Category / EasyUI for jQuery / How to add tooltip for the icon of a combobox | on: December 05, 2014, 08:22:30 PM |  
							| Dear admins, How to add tooltip for the icon of a combobox? I want to add "selectAll" and "unSelectAll" as tooltips, but it doesn't work. My source code is like this: <input id="alarmType" name="alarmType" class="easyui-combobox"data-options="panelHeight:'250', editable:true, valueField:'value', textField:'text', multiple:true,
 icons:[{
 iconCls:'icon-ok', id: 'alarmTypeSelectAll',
 handler:function(e){
 var c = $(e.data.target);
 var opts = c.combobox('options');
 var index = opts.valueField;
 $.map(c.combobox('getData'), function(row){
 c.combobox('select', row[index]);
 })
 }
 },{
 iconCls:'icon-clear', id: 'alarmTypeUnSelectAll',
 handler:function(e){
 var c = $(e.data.target);
 var opts = c.combobox('options');
 $.map(c.combobox('getData'), function(row){
 c.combobox('unselect', row[opts.valueField])
 })
 }
 }]"/>
$("#alarmTypeSelectAll").tooltip({position:'left', content: 'selectAll'});$("#alarmTypeUnSelectAll").tooltip({content: 'unSelectAll'});
 |  
							|  |  |  
			
				| 
						
							| 4 | General Category / EasyUI for jQuery / Re: treegrid lines:true | on: August 12, 2014, 02:39:50 AM |  
							| The 'lines' property will be supported in next version. You can extend a new method 'showLines' to achieve this functionality. The 'showLines' method will also be added into next version. $.extend($.fn.treegrid.methods,{showLines:function(jq){
 return jq.each(function(){
 var target = this;
 var t = $(target);
 var opts = t.treegrid('options');
 if (opts.lines){
 t.treegrid('getPanel').addClass('tree-lines');
 } else {
 t.treegrid('getPanel').removeClass('tree-lines');
 return;
 }
 
 t.treegrid('getPanel').find('span.tree-indent').removeClass('tree-line tree-join tree-joinbottom');
 t.treegrid('getPanel').find('div.datagrid-cell').removeClass('tree-node-last tree-root-first tree-root-one');
 
 var roots = t.treegrid('getRoots');
 if (roots.length > 1){
 _getCell(roots[0]).addClass('tree-root-first');
 } else if (roots.length == 1){
 _getCell(roots[0]).addClass('tree-root-one');
 }
 _join(roots);
 _line(roots);
 
 function _join(nodes){
 $.map(nodes, function(node){
 if (node.children && node.children.length){
 _join(node.children);
 } else {
 var cell = _getCell(node);
 cell.find('.tree-icon').prev().addClass('tree-join');
 }
 });
 var cell = _getCell(nodes[nodes.length-1]);
 cell.addClass('tree-node-last');
 cell.find('.tree-join').removeClass('tree-join').addClass('tree-joinbottom');
 }
 function _line(nodes){
 $.map(nodes, function(node){
 if (node.children && node.children.length){
 _line(node.children);
 }
 });
 for(var i=0; i<nodes.length-1; i++){
 var node = nodes[i];
 var level = t.treegrid('getLevel', node[opts.idField]);
 var tr = opts.finder.getTr(target, node[opts.idField]);
 var cc = tr.next().find('tr.datagrid-row td[field="' + opts.treeField + '"] div.datagrid-cell');
 cc.find('span:eq('+(level-1)+')').addClass('tree-line');
 }
 }
 function _getCell(node){
 var tr = opts.finder.getTr(target, node[opts.idField]);
 var cell = tr.find('td[field="'+opts.treeField+'"] div.datagrid-cell');
 return cell;
 }
 })
 }
 })
 
Usage example: $('#tg').treegrid({lines:true}).treegrid('showLines');
I tried to extend the new method 'showLines' that you've mentioned above. But error occured! TypeError: node is undefined[在此错误处中断]     var tr = opts.finder.getTr(target, node[opts.idField]); And I used js-create treegrid way, not html way. FYI: $('#resourceTree').treegrid({              url:'resource.do?method=getDynamicTreegridData',              method: 'get',              columns:[[                  {field:'name', title:'name', width:190,editor:'text'}                               ]],              lines:true,              showHeader:false,              onClickRow: onClickTreeRow,              border:false,              idField: 'id',                treeField: 'name'          }); $('#resourceTree').treegrid({lines: true}).treegrid('showLines'); |  
							|  |  |  |