`
ziyuewang
  • 浏览: 40301 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

自己写的XGrid O(∩_∩)O~

阅读更多
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
		
		<script type="text/javascript">
			$(function(){
				var settings = {
					title : "用户信息" ,
					renderTo : "foo" ,
					headers : [
						"姓 名","年 龄","性 别","城 市","联系方式","备 注"
					] ,
					list : [
						{name:"wangziyue",age:"28",sex:"男",fromTo:"北京",tel:"13146253513",note:"我是一名程序员!"} ,
						{name:"zhangsan",age:"22",sex:"女",fromTo:"北京",tel:"13520454933",note:"你好世界 。。。 。。。"} ,
						{name:"lisi",age:"32",sex:"男",fromTo:"北京",tel:"13423356789",note:"今天心情不,今天心情不,今天心情不错 。。。 。。。"} ,
						{name:"wangwu",age:"18",sex:"女",fromTo:"北京",tel:"13214467780",note:"你好世界 。。。 。。。"} ,
						{name:"sunliu",age:"45",sex:"女",fromTo:"北京",tel:"13801139027",note:"你好世界 。。。 。。。"}
					] ,
					commands : [
						{
							name : "+ 添加" ,
							cmd : "add"
						} ,
						{
							name : "- 删除" ,
							cmd : "del"
						} ,
						{
							name : "修 改" ,
							cmd : "mod"
						}
					]
				} ;
				XGrid.load(settings) ;
			}) ;
			
			var XGrid = function(){
				var records = [] ;
				function _isChecked(){
					var jq_checker = $("input[@type=checkbox]:checked") ;
					var size = jq_checker.size() ;
					return (1 == size) ? true : false ; 
				} ;
				function _curd(cmd,id){
					if("add" == cmd){
						_add() ;
					}
					else if("del" == cmd){
						_delete(id) ;
					}
					else if("mod" == cmd){
					
					}
					else{
						alert("无效的参数" + cmd + "!") ;
						return ;
					}
				} ;
				function _add(){
					var _div = $("<div></div>")
						.addClass("data_add")
						.appendTo("body") ;
					var _top = parseInt(document.documentElement.clientHeight / 2 - _div.height() / 2) ;
					var _left = parseInt(document.documentElement.clientWidth / 2 - _div.width() / 2) ;
					var _css = {
						top : _top  + "px" ,
						left : _left  + "px" ,
						display : "none"
					} ;
					_div
						.css(_css)
						.fadeIn("normal") ;
				} ;
				function _delete(id){
					var i = 0 ;
					for(;i<records.length;i++){
						var record = records[i] ;
						if(id == record.id){
							break ;
						}
					}
					records.splice(i,1) ;
					_reload() ;
				}
				function _reload(){
					var _table = $(".data_grid")
						.find("tbody#mytbody")
						.empty() ;
					for(var i=0;i<records.length;i++){
						var r = records[i] ;
						var assId = r.id ;
						var _tr = $("<tr></tr>")
								.css("display","none")
								.appendTo(_table)
								.fadeIn("slow") ;
						var _td_ = $("<td></td>")
							.appendTo(_tr) ;
						$("<input type='checkbox' />")
							.attr("assId",assId)
							.appendTo(_td_) ;
						var name = $("<td></td>")
							.html(r.name)
							.appendTo(_tr) ;
						var age = $("<td></td>")
							.html(r.age)
							.appendTo(_tr) ;
						var sex = $("<td></td>")
							.html(r.sex)
							.appendTo(_tr) ;
						var fromTo = $("<td></td>")
							.html(r.fromTo)
							.appendTo(_tr) ;
						var tel = $("<td></td>")
							.html(r.tel)
							.appendTo(_tr) ;
						var note = $("<td></td>")
							.html(r.note)
							.appendTo(_tr) ;
					}
				}
				function _validate(){
				
				} ;
				function _render(settings){
					var title = settings.title ;
					var renderTo = settings.renderTo ;
					var headers = settings.headers ;
					var list = settings.list ;
					var commands = settings.commands ;
					
					var dataGrid = $("<div></div>")
							.addClass("data_grid")
							.appendTo("body") ;
					var dataHeader = $("<div></div>")
							.addClass("data_header")
							.html(title)
							.appendTo(dataGrid) ;
					var dataCommand = $("<div></div>")
							.addClass("data_command")
							.appendTo(dataGrid) ;
					for(var i=0;i<commands.length;i++){
						var command = commands[i] ;
						var name = command.name ;
						var cmd = command.cmd ;
						$("<a href='#'></a>")
							.attr("cmd",cmd)
							.html(name)
							.click(function(){
								if(_isChecked()){
									var id = $("input[@type=checkbox]:checked").attr("assId") ;
									_curd($(this).attr("cmd"),id) ;
								}
								else{
									alert("请选择并且只能选择一项!") ;
								}
							})
							.appendTo(dataCommand) ;
					}
					var dataList = $("<div></div>")
							.addClass("data_list")
							.appendTo(dataGrid) ;
					var _table = $("<table cellspacing='1' cellpadding='0'></table>")
							.appendTo(dataList) ;
					var _tr = $("<tr></tr>")
							.appendTo(_table) ;
					var checker = $("<th></th>")
								.html("选 择")
								.appendTo(_tr) ;
					for(var j=0;j<headers.length;j++){
						var header = headers[j] ;
						$("<th></th>")
							.html(header)
							.appendTo(_tr) ;
					}
					var _tbody = $("<tbody></tbody>")
								.attr("id","mytbody")
								.appendTo(_table) ;
					for(var k=0;k<list.length;k++){
						var data = list[k] ;
						var assId = _getAssId() ;
						var _tr_ = $("<tr></tr>")
								.appendTo(_tbody) ;
						var _td_ = $("<td></td>")
							.appendTo(_tr_) ;
						$("<input type='checkbox' />")
							.attr("assId",assId)
							.appendTo(_td_) ;
						for(var prop in data){
							$("<td></td>")
								.html(data[prop])
								.appendTo(_tr_) ;
						}
						data.id = assId ;
						records[records.length] = data ;
					}
					
				} ;
				function _getAssId(){
					var myString = [
						"0","1","2","3","4","5","6","7","8","9","a","b",
						"c","d","e","f","g","h","i","j","k","l","m","n",
						"o","p","q","r","s","t","u","v","w","x","y","z","_"
					] ;
					var assId = "" ;
					for(var i=0;i<8;i++){
						var assIndex = parseInt(Math.random() * myString.length) ;
						assId += myString[assIndex] ;
					}
					return assId ;
				}
				function load(settings){
					_render(settings) ;
				} ;
				return {
					load : load
				} ;
			}() ;
		</script>
	</head>

 

截图 :

 

分享到:
评论

相关推荐

    xgrid:Frankly 的编码任务

    的Xgrid 无需第三方库即可证明熟练使用 JavaScript 的编码作业 要求: 与移动浏览器的兼容性 没有第三方 JavaScript 库 无需设计 UI 样式 说明 给定一个 URL 后缀的数字,制作一个大小为 n 的网格,并在 HTML 中...

    Xgrid Agent for Java-开源

    【Xgrid Agent for Java - 开源详解】 Xgrid Agent for Java 是一个专为Apple的Xgrid集群技术设计的代理程序,完全使用Java编程语言编写。这一特性使得它具备跨平台的优势,能够在多种操作系统上运行,如Windows、...

    cxgrid的一些用法

    【cxGrid】是一种在Delphi和C++ Builder开发环境中广泛使用的第三方组件库,它扩展了标准的DevExpress Grid Control,提供了更强大的数据网格功能。cxGrid主要用于构建用户界面,展示和编辑表格形式的数据,适用于...

    一个JQuery +Ajax 封闭的一个GridView控件

    【标题】"一个JQuery +Ajax 封闭的一个GridView控件"揭示了这个项目的核心是使用JQuery和Ajax技术来实现一个类似于ASP.NET中的GridView的数据展示控件。GridView控件通常用于在网页上以表格形式展示数据,允许用户...

    dhtmlxGrid,dhtmlxGrid,dhtmlxTree,dhtmlxLayout,dhtmlxMenu,ajax

    **dhtmlxGrid** dhtmlxGrid是一款功能丰富的JavaScript数据网格组件,用于在网页上展示和操作大量数据。它提供了类似电子表格的功能,包括排序、筛选、编辑、分页等,支持多种数据格式(如JSON、XML、CSV等),并且...

    xgrid-design-task:评估的设计任务

    设计任务仓库概述│ .gitignore Files to be ignored by git.│ blacklist_ip_list.json To store the IP's that are blaclisted.│ count_ip.json To store the count of packets for blocked IP....

    simple-grid-用于网格布局的Vue组件,支持flex。-Vue.js开发

    simple-grid一个简单的网格布局(Vue组件),安装使用npm $ npm i simple-xgrid --save import Grid from'simple-xgrid'import'simple-xgrid simple-grid一个简单的网格布局(Vue Component),安装使用npm $ npm i ...

    JavaScript-Web素材实例

    - "xGrid Version 3_0 Demo Page.htm"可能是GT.Grid的演示页面,用户可以看到如何使用和定制这个组件。 - "锁定表格栏位范例网页.htm"可能展示了一种固定列头或行的表格,即使在滚动时也能保持可见,这对于处理大量...

    mrtg 监控脚本及配置

    本文将详细介绍MRTG的基本概念、监控脚本以及配置文件的使用,尤其关注CPU、I/O、内存和磁盘监控。** ### 一、MRTG简介 MRTG是由Rainer Keuchel开发的一款开源工具,主要用于实时监控网络带宽利用率。通过SNMP协议...

    kde.rar_KDE核密度估计_kde_kernel density_数据计算密度_核估计

    density = kde.score_samples(xgrid[:, np.newaxis]) # xgrid是评估密度的网格点 # 可视化结果 import matplotlib.pyplot as plt plt.plot(xgrid, np.exp(density), label='KDE estimate') ``` 在数据分析中,核...

    gaosinihe.rar_数据高斯拟合_高斯拟合_高斯拟合数据

    plot(xData, yData, 'o', 'DisplayName', 'Data'); xGrid = linspace(min(xData), max(xData), 1000); % 创建更细的x轴网格 yGrid = gaussFit(xGrid, bestFitParams(1), bestFitParams(2)); % 计算拟合曲线的y值 ...

    find_idx:分数合并-matlab开发

    idx=find_idx(xi, xgrid) 该函数不仅与 HISTC 类似,还返回数据点在 binning 间隔内的分数位置。 它相当于interp1(xgrid,(1:length(xgrid)), xi) 但速度提升高达5倍。 算法:二分法,m.log(n) 的复杂度,其中 m ...

    plot3Dmeshgrid:plot3Dmeshgrid(X,Y,Z) 绘制由函数 [Xgrid,Ygrid,Zgrid] = meshgrid(X,Y,Z) 返回的 3D 网格-matlab开发

    `meshgrid` 会根据这些输入生成两个矩阵 Xgrid 和 Ygrid,它们是按照笛卡尔坐标系构建的,使得对应位置的元素可以匹配。当这两个矩阵与 Z 的值结合时,就可以构建出一个三维数据矩阵,用于绘制三维图形。 例如,...

    demo.zip_DEMO

    oefEsts2 = nlinfit(time, log(conc), @(p,x)log(modelFun(p,x)), ...line(xgrid, modelFun(coefEsts2, xgrid), 'Color',[0 .5 0]); legend({'Raw Data' 'Additive Errors Model' 'Multiplicative Errors Model'});

    matlab_由一系列空间点拟合三维曲线,输入坐标点,输出多段样条曲线,及n等分点

    xGrid = linspace(min(x), max(x), nDivisions); % 创建等间距的x网格 % 使用样条函数获取插值结果 yGrid = splineFun(xGrid); zGrid = splineFun(xGrid, 2); % 对于三维,需要传递两个参数,第二个参数通常为1...

    svm.rar_matlab例程_matlab_

    contourf(Xgrid, Ygrid, reshape(Z, size(Xgrid,1), size(Xgrid,2)), 2, 'LineStyle', '--') ``` 这个MATLAB例程可能会包含以上这些步骤,通过实际操作,帮助用户理解和应用线性SVM算法。通过分析和运行这个程序,...

    点云栅格化_点云珊格化_点云栅格化_

    values = griddata(points(:,1), points(:,2), points(:,3), xGrid, yGrid, zGrid, 'nearest'); % 最近邻插值 ``` 这里,`xRange`、`yRange`和`zRange`定义了栅格的边界,`'nearest'`参数表示采用最近邻插值法。`...

    dhtmlxGrid_v14_Pro_70813.rar

    **dhtmlxGrid详解** dhtmlxGrid是一款强大的JavaScript数据网格组件,由DHX公司开发。这个组件在网页应用中广泛使用,用于展示和管理大量的结构化数据。它提供了丰富的功能,包括数据编辑、排序、过滤、分页、拖放...

    RectRange:一个MATLAB函数,用于获取图中选定矩形的坐标范围-matlab开发

    [Xrange,Yrange]=rectrange(xgrid,ygrid,f) 允许您使用鼠标在当前图形中选择一个矩形。 该图形必须基于矩形网格 (X, Y) 生成,该矩形网格通常使用函数 MESHGRID 生成。 然后将导出基于网格 (xgrid,ygrid) 的所选...

    Matlab 三维点云三角化 不是平面域的三角化 是三维点云三角化

    在这个例子中,`xgrid`, `ygrid`, `zgrid`是定义的插值网格,它们可以根据需要调整以控制插值的精细度。 在提供的压缩包文件"Triangle of Point Cloud"中,可能包含了一些示例代码或点云数据,用于演示如何在Matlab...

Global site tag (gtag.js) - Google Analytics