Easyui前端知識點收集

1、數據加載中····效果實現:

    //彈出加載層
	 function load() {  
	     $("<div class=\"datagrid-mask\"></div>").css({ display: "block", width: "100%", height: $(window).height() }).appendTo("body");  
	     $("<div class=\"datagrid-mask-msg\"></div>").html("正在加載,請稍等...").appendTo("body").css({ display: "block", left: ($(document.body).outerWidth(true) - 190) / 2, top: ($(window).height() - 45) / 2 });  
	 }  
	   
	 //取消加載層  
	 function disLoad() {  
	     $(".datagrid-mask").remove();  
	     $(".datagrid-mask-msg").remove();  
	 }

2、彈出模態框,顯示具體信息:

	//彈出一個模態框,顯示具體的msg信息
	function openWindow(msg){
		var new_msg = $(msg).text()
  		 $("#win").window({
  			  title : "顯示信息",
  			  top : 50,
              width : 450,
              height : 500,
              content : new_msg
  		 });
  	 }


3、彈出提示消息

$.messager.alert({  
	            title: '提示信息',  
	            msg: '調用鏈ID不能爲空',  
	            icon: 'warning',
	        }); 

其中icon有info、warning、error、question四種。

4、數據表格

			//初始化source數據表格
			$('#sourceTable').datagrid( {
					title : "SOURCE",
			    	checkOnSelect : true,
			    	rownumbers : true,
			    	singleSelect : true,
					columns : [[ {
						field:'sourceName',
			        	title:'組件名',
			        	width:"10%",
					},{
						field:'startTime',
			        	title:'啓動時間',
			        	width:"12.5%",
					},{
						field:'stopTime',
			        	title:'狀態',
			        	width:"12.5%",
					},{
						field:'ip',
			        	title:'Ip',
			        	width:"7.5%",
					},{
						field:'port',
			        	title:'端口號',
			        	width:"5%",
					},{
						field:'eventReceivedCount',
			        	title:'成功收到數量',
			        	width:"7.5%",
					},{
						field:'openConnectionCount',
			        	title:'打開連接數',
			        	width:"7.5%",
					},{
						field:'appendBatchAcceptedCount',
			        	title:'放入批量數',
			        	width:"7.5%",
					},{
						field:'appendBatchReceivedCount',
			        	title:'追加批量數',
			        	width:"7.5%",
					},{
						field:'eventAcceptedCount',
			        	title:'接收日誌數量',
			        	width:"7.5%",
					},{
						field:'appendReceivedCount',
			        	title:'追加日誌數量',
			        	width:"7.5%",
					},{
						field:'appendAcceptedCount',
			        	title:'追加的數量',
			        	width:"7.5%",
					} ]]
					
				});
    $("#sourceTable").datagrid('loadData',flumedata);

5、訪問url獲取數據

(1)、$.getJSON(URL,function(data){ });或者$.getJSON(URL,params,function(){ });
		$.getJSON(url_queryAction,function(data){
			var newdata = new Object();
			newdata.rows = new Array(data.length);
			newdata.total = data.length;
			for (var i = 0; i < data.length; i++) {
				var array = data[i].split(":");
				var tmp = new Object();
				tmp.ip = array[0];
				tmp.port = array[1];
				tmp.address = "http://"+data[i]+"/metrics"
				newdata.rows[i] = tmp;
			}
			$("#monitorConfigTable").datagrid('loadData',newdata);
		});
		
	 });
(2)、$.ajax({ });
		$.ajax({
			type: "POST",
			url : url_searchAction,
			data : params,
			dataType: "json",
			success: function(data){
				 if (data == null) {
					disLoad();
					return;
				}
				 $("#panel").empty();
				 for(var i=0;i<data.rows.length;i++){
						//var panelHeader = "title" + i;
						var title = data.rows[i].title;
						var table_string = "<table class='easyui-datagrid' id=" + "'" + title + "' data-options='collapsible:true'" + " style='width:99%;'></table>";
					    $("#panel").append(table_string);
					    $('#panel').append('<div style="margin-top:10px;clear:both"></div>');
					    var newObject = new Object();
					    newObject.rows = data.rows[i].rows;
					    newObject.total = data.rows[i].rows.length;
					    $("#" + title).datagrid({
					    	title : title,
					    	checkOnSelect : true,
					    	rownumbers : true,
					    	singleSelect : true,
							columns : [ [ {
								field : 'cid',
								title : '調用鏈',
								resizable : true
							}, {
								field : 'srv',
								title : '服務名',
								resizable : true
							}, {
								field : 'lvl',
								title : '等級',
								width : "5%",
								formatter : function(value,row,index){
									if (value == "ERROR") {
										return '<span style="color:red;">'+value+'</span>';
									} else {
										return value;
									}
								}
							}, {
								field : 'msg',
								title : '信息',
								width : "20%",
								formatter : function(value,row,index){
									if (typeof(value)=="undefined") {
										return;
									}
									return '<a href="javascript:void(0)" id="href" οnclick="openWindow(this)">'+value
							    	+'</a>';
								}
							},{
								field : 'etc',
								title : '耗時',
								width : "5%",
								formatter : function(value,row,index){
									if (value > 5) {
										return '<span style="color:red;">'+value+'</span>';
									}else {
										return value;
									}
								}
							},{
								field : 'fn',
								title : '方法名稱',
								width : "5%",
							},{
								field : 'dir',
								title : '路徑展示',
								width : "5%",
							},{
								field : 'logtime',
								title : '記錄時間',
								width : "10%",
							},{
								field : 'tid',
								title : '線程號',
								width : "10%",
								resizable : true
							},{
								field : 'pid',
								title : '進程號',
								width : "5%",
							},{
								field : 'ip',
								title : 'IP地址',
								width : "5%",
								resizable : true
							}] ]
					    });
					    $("#" + title).datagrid('loadData',newObject);
						}  
				 disLoad();
			 },
		error : function(){
			disLoad();
			return;
		}
			
		});


6、input框獲取值和設值

     //獲取值
			var value = $("#cid").val();
			//設值:1、普通的input框
			$("#cid").val(value);
			//$('input[name="cid"]').val(cid);
			//設值:2、時間框
			$("#startTime").datetimebox({
				value : startTime
			});


7、下拉選擇框combobox

		$('#queryNum').combobox({
		    url:'${ctx}/view/elasticsearch/queryNum.json',
		    valueField:'id',
		    textField:'text'
		});
或者:
									$('#field').combobox({
										data : fieldObject.rows,
										textField:'field',
										valueField:'field',
										onSelect:function(data){}
									});

其中onSelect選擇時觸發事件,其中下拉數據json格式:
[{
	"id":1,
	"text":"must",
	"selected":true  
},{
	"id":2,
	"text":"must_not"
},{
	"id":3,
	"text":"should"
}]

獲取combobox的選擇值:
		var index =  $('#index').combobox('getValue');

8、easyui通過js動態加載組件的時候,easyui樣式失效,解決辦法:

		var targetObj = $('#'+conditionId);
		$.parser.parse(targetObj);

通過id獲取這個組件,然後重新渲染這個組件。

9、js中棧可以用var fieldIdArray= new Array(); 實現

	var fieldIdArray = new Array(); 
	//數據進棧
	fieldIdArray.push(data);
	//數據出棧
	var data = fieldIdArray.pop();

10、datagrid動態列實現

$.getJSON(url,function(data){
	var columns = [];
	var col = [];
	for(var i=0;i<data.length;i++){
		var data_one = data[i];
		var oneColumn = {title:data_one.title,field:data_one.field,resizable:true};
		col.push(oneColumn);
	}
	columns[0] = col;
	$('#EsDataTable').datagrid({
		checkOnSelect : true,
    	rownumbers : true,
    	singleSelect : true,
    	fitColumns : false,
    	columns : columns
	});

});


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章