现在的位置: 首页 > 综合 > 正文

dhtmlxGrid

2017年12月28日 ⁄ 综合 ⁄ 共 6480字 ⁄ 字号 评论关闭

dhtmlxGrid:

链接 Samples http://www.dhtmlx.com/docs/products/docsExplorer/samples.shtml

链接 Docs http://docs.dhtmlx.com/doku.php

dhx_js:

var layout,menu,toolbar,mygrid
dhtmlx.image_path = "dhtmlx_std_full/imgs/";	
layout = new dhtmlXLayoutObject("parentId","1C", "dhx_skyblue"); //2U,1C,light
layout.cells("a").setText("XX管理");
toolbar = layout.attachToolbar();
toolbar.setIconsPath("icons/");
toolbar.loadXML("xml/toolbar.xml");

menu = new dhtmlXMenuObject();
menu.setIconsPath("dhtmlx_std_full/imgs/");
menu.renderAsContextMenu();//快捷菜单
menu.attachEvent("onClick", onButtonClick);
menu.loadXML("dhtmlx_extra/_context.xml");
 
//mygrid = new dhtmlXGridObject('gridbox');
mygrid = layout.cells("a").attachGrid(); 
mygrid.setSkin("dhx_skyblue");
//如果后台返回过来的数据是有为dhtmlxGrid作格式适应处理的,则Header各列的数据会根据Header的顺序自动加载进Grid中
mygrid.setHeader(" ,#master_checkbox,XX,XX,XX,XX,XX");// 代表列标题为空,#master_checkbox代表列标题为box
mygrid.setHeader("Sales,img:[../common/images/books.gif]Book Title,Author,img:[../common/images/book.gif]");//在标题栏添加图片
//如果后台返回过来的数据没有为dhtmlxGrid作格式适应处理,只是普通json对象的,则通过setColumnIds方法,按照id加载进Grid中
mygrid.setColumnIds("status,name,code,orderIndex");//[sets id to every column. Can be used then to retreive the index of the desired colum ]

mygrid.setInitWidths("40,60,60,150,60,90,60,90,90,180,90,90,90");//如果没有设置Width则标题自动适应窗口
mygrid.setColAlign("center,center,center,center,center");
mygrid.setColTypes("cntr,ch,ed,clist,ed,coro,dhxCalendar,txt,link,acheck");//注:各种数据格式!
mygrid.setColSorting("na,str,int,str,date"); //排序:'str','int','date'
mygrid.attachHeader(" ,#text_filter,#combo_filter,#cspan, ");//筛选,空筛选,下拉筛选
/* 多行标题
mygrid.setHeader("Sales,Book,#cspan,Price,In Store,Shipping,Other Info,#cspan");//第一行标题
mygrid.attachHeader(["#rspan", "Title", "Author", "#rspan", "#rspan", "#rspan", "Bestseller", "Published"]);//第二行标题 
*/
mygrid.enableSmartRendering(true);//dynamical loading of rows from server 
mygrid.attachFooter();//grid底部添加行
mygrid.enableAutoHeight(true,600);
mygrid.enableAutoWidth(true,800);
mygrid.setDateFormat("%Y-%m-%d")//专业版
mygrid.registerCList(6, ["Stephen King", "John Grisham", "Honore de Balzac"]);//专业版
mygrid.setColumnColor("#CCE2FE");//首列(计数)颜色
mygrid.enableBlockSelection();//块级选择
mygrid.enableContextMenu(menu);//右键选择颜色
mygrid.enableMultiselect(true);//mygrid.selMultiRows = true;//多行选择
mygrid.setMultiLine(false);
mygrid.enableDragAndDrop(true);//允许拖拉
mygrid.enableEditEvents(false, true, true);//enableEditEvents(click, dblclick, f2Key)
mygrid.enablePaging(true, 10, 3, "pagingArea", true, "recinfoArea");//grid分页功能(专业版)
mygrid.xmlFileUrl=url;//真分页
mygrid.setColumnColor("#d5f1ff,white,#d5f1ff,#d5f1ff");//设置列(前3列)颜色
mygrid.enableColumnAutoSize(true);//允许调整列宽度
mygrid.adjustColumnSize(2)//调整列宽度
mygrid.enableTooltips("false,true,true,true,true");//设置提示
mygrid.attachEvent("onBeforeContextMenu", my_pre_func);//限定快捷菜单的列
mygrid.attachEvent("onRightClick", onRightClick);//右键事件
mygrid.attachEvent("onEditCell",doOnEditCell);
mygrid.getCombo(7).put(1, "不重要")
mygrid.getCombo(7).put(2, "一般重要")
mygrid.getCombo(7).put(3, "一般重要")
/*
mygrid.groupBy(2);//行按第3列的属性分组(从0计数)
mygrid.unGroup();//取消行分组
mygrid.expandAllGroups()//展开行分组
mygrid.collapseAllGroups()//合并行分组
if (mygrid.getSelectedId()) mygrid.deleteRow(mygrid.getSelectedId())//删除选中行
mygrid.addRow(new_id, text, index)//在末尾添加行:
mygrid.customGroupFormat = function(text, count) {
    return "Grouped by " + text + ", there are " + count + " related records";
};//自定义行分组的分组头的格式
mygrid.filterBy(cellId, text);//根据内容筛选
mygrid.filterBy(0,function(a){ return (a<500);});//根据ID筛选前500条
mygrid.splitAt(3);//冻结列
*/
/* 
mygrid.enableHeaderMenu();//允许标题栏隐藏
mygrid.setColumnHidden(2, true);
 */
/*  
mygrid.setColTypes("ed,ed,price,ed,ed[=c2*c3]");//数学计算
mygrid.setColSorting("str,str,int,int,int");
mygrid.setMathRound(2);
mygrid.enableMathEditing(true);
 */ 
/* 
mygrid.enableRowspan(true);//grid中的小块:rowspan
mygrid.setRowspan(3, 3, 3);
mygrid.setRowspan(3, 2, 2); 
 */
/* 
mygrid.enableUndoRedo();//do和undo
mygrid.doUndo();
mygrid.doRedo();
 */
mygrid.init();
mygrid.load("listDHXGridData.do", "json");
// mygrid.parse(data,"json")
//行用id计数,列从0计数,rowId,cellId 
mygrid.cells(id, 0).setValue("");//grid设值
mygrid.cells(id,0).getValue(); //grid取值
mygrid.getRowIndex(mygrid.getSelectedId());//选中行
mygrid.getCheckedRows(1);//第二列的勾选行
grid.setStyle("background-color:navy;","","color:red;","height:30px");//设置grid的局部样式:
mygrid.clearSelection();//去除选中状态


function onButtonClick(menuitemId, type) {//快捷菜单--颜色
    var data = mygrid.contextID.split("_");
    //rowId_colInd;
    mygrid.setRowTextStyle(data[0], "color:" + menuitemId.split("_")[1]);
    return true;
}
function my_pre_func(rowId, celInd, grid) {//限定快捷菜单的列
    if (celInd == 3) return true;
    return false;
}

DIV.gridbox TABLE.row20px TR TD{height:30px;} //<!--样式文件中设置grid样式(行高) -->

JSON数据格式要求:

//dhtmlxGrid要求的JSON格式:
{"rows":[
	  {"id":9,"data":[1,"深圳市",100020,"XXX"]},
	  {"id":1052,"data":[1,"深圳市",101062,"XXX"]}
	]}
//Map<List<map> (map要循环取值)
//dhtmlxCombox要求的Json格式:
{"item":[
	  ["1111","安徽分区"],
	  ["2222","江苏分区"],
	  ["3333","江西分区"],
	  ["4444","浙江分区"]
	 ]}
//Map<List<list>  (list要循环取值)

Excell Types:

//dhxGrid Base excell Types:
ro:It is a simple read only cell without edit possibility. 
ed:It is a simple single line editor. 
txt:It is a simple multi-line editor (small textarea) 
ch:It is a Checkbox eXcell. Treats “1” as checked, “0” as not checked. 
ra:It is a Radio button (column oriented). 
co:it is a simple combobox. 
link:It treats the value as a link source and renders it as a link 
    link^javascript:doSomething("param1","param2","param3")^_self
img:It treats the value as an image source and renders it as an image 
    some.gif^alt text^javascript:doSomething()^_self
price:It renders the value as the price amount 
dyn:Stands for different coloring and marking based on the value 
cp:It is a simple popup colorpicker. 
calck:It is a popup calculator control that allows specific formatting through grid.setNumberFormat. 
dhxCalendar:It is a popup calendar control in which dhxCalendar is used; the date format can be set by grid.setDateFormat. 
dhxCalendarA:It is a popup calendar control in which dhxCalendar is used; 
clist:It is a multiselect control, which dhxCalendar is used; 
grid:dhtmlxgrid can be used as an editor for cells. 
stree:dhtmlxtree can be used as an editor for cells. 
context:dhtmlxmenu can be used as an editor for cells. 
combo:Complex select box/combobox based on dhtmlxCombo can work in autocomplete mode. 
sub_row:It shows the cell as an expandable sub row of the grid row (allows to implement “expandable details” pattern). 
mygrid.setColTypes("dyn,ed,txt,price,ch,coro,ra,ro");
mygrid.setColTypes("dyn,ed,clist,calck,acheck,img");

其他:

dhtmlxGrid & dhtmlxTree interaction:

http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/13_interaction_other_components/03_pro_interaction.html

//search

http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/14_loading_big_datasets/01_50000.html

//keyword

http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/15_navigation/01_pro_keymap_access.html

【上篇】
【下篇】

抱歉!评论已关闭.