`
mn1992602
  • 浏览: 6197 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

datable表格树

 
阅读更多

效果:

 JS代码:

var pagesize = 10;
$(document).ready(function() {
	var titleArray = [
        {"className":'details-control',"orderable":false,"mData":null,"defaultContent": ''},
        {"sTitle" : "网站名称","mData" : "webSiteName","bSortable" : false},
    	{"sTitle" : "网站域名","mData" : "domainName","bSortable" : false},
    	{"sTitle" : "IP","mData" : "ips","bSortable" : false},
    	{"sTitle" : "网站状态","mData" : "statusName","bSortable" : false},
    	{"className":'',"orderable":false,"mData":null}];
		var table = $('#siteCancel').DataTable({
	        "sAjaxSource": ctx+"/hallBackstage/loadCancelSites",
	        "aoColumns": titleArray,
	        "bProcessing": true,
			"bFilter": true,     			//过滤功能
	        "bSort": false,     			//排序功能
	        "iDisplayLength": pagesize,		// 每页显示多少条数据
	        "bPaginate" : true,
	        "bLengthChange" : false,
			"bInfo":true,
		    "bDestroy":true,
		    "bJQueryUI": false,
	        "bServerSide" : true,			// 服务器端查找数据
			"fnRowCallback" : function(nRow, aData, iDisplayIndex) {
				if(aData.status=="S0"){
					$("td:eq(4)", nRow).html('<a id="' + aData.id + '" onclick="showSiteHistory(this)" title="查看备案记录"><font color="red">' + aData.statusName + '</font></a>');
				}else{
					$("td:eq(4)", nRow).html('<a id="' + aData.id + '" onclick="showSiteHistory(this)" title="查看备案记录"><font color="blue">' + aData.statusName + '</font></a>');
				}
				if(null!=aData.ips){
					if(aData.ips.length > 45){
						var ipssort = aData.ips.substring(0, 45);
						$("td:eq(3)", nRow).html("<span title='" + aData.ips + "'>" + ipssort + "...</span>");
					}
				}
				if(aData.flowStatus=="F9"&&(aData.status=="S1"||aData.status=="S2")){
					$("td:eq(5)", nRow).html('<a id="' + aData.id + '" class="con_btn gray" title="注销">注销</a>');
				}else{
					$("td:eq(5)", nRow).html('<a id="' + aData.id + '" onclick="cancelWebSite(this)" class="con_btn" title="注销">注销</a>');
				}
				$("td:eq(5)", nRow).css("text-align","center");
			}
	    });
		$(".dataTables_filter").hide();
		// 绑定搜索事件
		$('#cancelBtn').on('click', datatableFilter);
	    // Add event listener for opening and closing details
	    $('#siteCancel tbody').on('click', 'td.details-control', function () {
	        var tr = $(this).closest('tr');
	        var row = table.row( tr );
	 
	        if ( row.child.isShown() ) {
	            // This row is already open - close it
	            row.child.hide();
	            tr.removeClass('shown');
	        }
	        else {
	            // Open this row
	        	format(row);
	            //row.child( format(row.data()) ).show();
	            tr.addClass('shown');
	        }
	    });
});
function datatableFilter() {
	var webSiteNameCan = $('#cancelWebSiteName').val();
	var domainNameCan = $("#cancelDomainName").val();
	var ips = $("#cancelIp").val();
	var json = {};
	if(webSiteNameCan != ""){
		json['webSiteName'] = webSiteNameCan;
	}
	if(domainNameCan != ""){
		json['domainName'] = domainNameCan;
	}
	if(ips != ""){
		json['ips'] = ips;
	}
	$('#siteCancel').dataTable().fnFilter(JSON.stringify(json));
};
function format (row) {
	var d = row.data();
	var selectedId = d.id;
	var tableStr="";
	if(null!=selectedId){
		$.ajax({
			url: ctx+'/hallBackstage/loadSiteByRelid?id=' + selectedId, 
		    type: 'POST',
		    async: false,
		    dataType : 'json',
		    processData: false, 
		    success: function(data) {
		    	tableStr = '<table class="sub_tab" style="width: 99%; margin:0px 5px 5px;" cellpadding="0" cellspacing="0" border="0"';
		    	if(null!=data&&data.length>0){
		    		for(var i=0;i<data.length;i++){
		    			tableStr+='<tr>'+
		            	'<td width="5%"></td>'+
		                '<td width="15%">'+data[i].webSiteName+'</td>'+
		                '<td width="15%">'+data[i].domainName+'</td>'+
		                '<td width="30%">'+d.ips+'</td>'+
		                '<td width="15%">子域名</td>';
		                if(data[i].flowStatus=="F9"){
		                	tableStr+='<td style="text-align:center;" width="10%"><a id="' + data[i].id + '" class="con_btn gray" title="注销">注销</a></td>';
		                }else{
		                	tableStr+='<td style="text-align:center;" width="10%"><a id="' + data[i].id + '" onclick="cancelWebSite(this)" class="con_btn" title="注销">注销</a></td>';
		                }
		                tableStr+='</tr>';
		    		}
		    		tableStr+='</table>';
		    		row.child(tableStr).show();
		    	}else{
		    		tableStr+='<tr><td width="100%"  style="text-align: center;">信息为空!</td></tr></table>';
			    	row.child(tableStr).show();
		    	}
			}
		});
	}
}

 需要的css:

<style type="text/css">
		td.details-control {
		    background: url('../static/images/details_open.png') no-repeat center center;
		    cursor: pointer;
		}
		tr.shown td.details-control {
		    background: url('../static/images/details_close.png') no-repeat center center;
		}
</style>

 需要引入的js及css:

<link href="${ctx}/static/datatables/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />

<link href="${ctx}/static/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" />

<link href="${ctx}/static/datatables/css/dataTables.bootstrap.css" rel="stylesheet" type="text/css" />

 

<script type="text/javascript" src="${ctx}/static/datatables/jquery-1.11.1.min.js"></script>

<script type="text/javascript" src="${ctx}/static/datatables/jquery.dataTables.min.js"></script>

<script type="text/javascript" src="${ctx}/static/bootstrap/3.3.1/js/bootstrap.min.js"></script>

<script type="text/javascript" src="${ctx}/static/datatables/dataTables.bootstrap.js"></script>

 

  • 大小: 7.7 KB
分享到:
评论

相关推荐

    Laravel开发-laravel-datable

    在本文中,我们将深入探讨Laravel开发中的laravel-datable工具,这是一个专为Laravel框架设计的小巧且功能强大的包,特别适用于处理日期显示的本地化。laravel-datable允许开发者轻松地在应用中切换不同的日期格式,...

    c#常用的Datable转换为json,以及json转换为DataTable操作方法

    c#常用的Datable转换为json,以及json转换为DataTable操作方法 * 备注信息: 上传部分自己总结的常用方法的封装,有不足和不完美之处,希望大家指出来,愿意一起 * 主要研究erp,cms,crm,b2b,oa等系统和网站的开发...

    C# 导出excel表格(xls、xlsx两种格式)

    在C#编程环境中,导出Excel表格是一项常见的需求,尤其在数据处理和报告生成时。本文将详细讲解如何使用C#来实现Excel表格的导出,包括xls和xlsx两种常见格式。 首先,我们需要理解这两种格式的区别。Xls是Excel...

    Linq to datable(Left join right join full join)实例

    标题 "Linq to datable(Left join right join full join)实例" 涉及到的是在.NET框架中,使用LINQ(Language Integrated Query)查询语言处理DataTable对象时,执行不同类型的连接操作,包括左连接(Left Join)、右...

    Layui数据表格 前后端json数据接收的方法

    先上效果图: 前端数据表格: &lt;&#37;-- 数据表格 --%&gt; lay-filter=test&gt; &lt;thead&gt;

    datagridview生成datable

    在.NET Framework中,DataGridView是Windows Forms应用程序中一种非常强大的数据展示和编辑控件。它可以绑定到各种数据源,包括DataTable、DataSet等,并提供丰富的功能来显示和操作数据。有时候,我们可能需要将...

    将csv文件读取到datable中并插入到mysql数据库中

    您从未执行过该命令。 请参阅:...请参阅“方法”部分。 您需要使用包含子字符串“ Execute”的名称来调用方法之一。 由于您的命令是“插入”,因此您可以使用...

    NPOI导入excel生成datatable

    NPOI是一个强大的开源库,专门用于处理Microsoft Office文件,包括Excel。在.NET环境中,它为开发者提供了方便的方式来读取、写入Excel文件,而无需安装Microsoft Office。本项目主要涉及的是如何使用NPOI库将Excel...

    jquery datatable

    这个库基于jQuery框架,可以无缝地整合到现有的Web应用中,为用户带来交互式的表格体验。 首先,jQuery DataTables的核心特性包括: 1. **数据源支持**:DataTables支持多种数据源,如HTML表格数据、CSV、JSON、...

    C#实现将json转换为DataTable的方法

    而DataTable是.NET Framework中的一个类,用于在内存中存储数据,它类似于数据库中的表格。 本文介绍了一种将JSON字符串转换为DataTable的方法。这个方法主要分为以下几个步骤: 1. **预处理JSON字符串**:首先,...

    C#自动代码生成数据库的数据表自动创建.zip

    在IT行业中,尤其是在软件开发领域,自动化工具的使用可以极大地提高效率并减少重复性工作。本文将详细讨论“C#自动代码生成数据库的数据表自动创建”这一技术主题,以及如何利用这种技术来优化数据库和代码的管理。...

    数据库访问及数据转中文大写等工具

    DB类:数据库访问类 属性: ConnString——连接字符串(如:server=.;uid=sa;pwd=;database=ufdata_001_2010) CMDstring——未使用 oleConnString——连接ACCESS数据库的字符串 方法: OpenConn——打开数据库(无...

    VB.NET Web开发中CSV出力实例

    VB.NET Web开发中CSV出力实例

    asp.net 数据以XML格式显示到页面上

    asp.net 讲查询到的数据以XML格式显示到页面上

    基于npoi的Excel读取 转换成Datatable(含源码)

    在处理Excel文件时,一个常见的需求是将Excel的数据转换为DataTable,因为DataTable是.NET框架中用于存储和操作表格数据的一个强大组件。这个过程通常包括以下几个步骤: 1. 引用NPOI库:在你的项目中,你需要添加...

    NPOIExcel导入导出

    此文件为Excel导入成Datable 和Datable导入成Excel方法

    DataTable缓存数据操作

    DataTable 缓存数据操作 DataTable 缓存数据操作是 ADO.NET 中的一种数据存储机制,主要用于缓存和操作数据。 DataTable 是 DataSet 中的组成部分,用于存储数据。 DataSet 是一个内存中的关系数据库,用于存储数据...

    C#实现Datatable排序的方法

    在C#编程中,`DataTable` 是一个非常重要的数据结构,它用于存储和操作表格形式的数据,类似于数据库中的表格。在处理大量数据时,我们经常需要对这些数据进行排序,以便进行更有效的分析和展示。本篇文章将详细介绍...

    flutter_horizontal_data_table:Flutter固定列水平数据表小部件

    horizo​​ntal_data_table Flutter Widget,用于创建水平表,左侧固定列。安装该程序包开始支持声音为零的安全性。 尽管该软件包是手动迁移的,并已通过每个功能进行了测试,但如果集成/迁移存在任何问题,请随时在...

    datatable之间的比较

    比较两个datatable之间数据的差异,将从主表没有、从表有或是从表没有、主表有的数据输出到另一张datatable,以便将差异数据输出显示。

Global site tag (gtag.js) - Google Analytics