`
小古墓
  • 浏览: 59593 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

dhtmlx学习之dhtmlxgrid(二)-----setNumberFormat的用法

 
阅读更多

最终实现效果图:


 

我的初步代码:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Dhtml Grid</title>
<link rel="STYLESHEET" type="text/css" href="<%=path %>/js/dhtml/dhtmlx.css">

</head>
<body>

	<div id="mygrid_container" style="width:600px;height:150px;"></div>

	<script src="<%=path %>/js/jquery-1.5.1.js"></script>
	<script src="<%=path %>/js/dhtml/dhtmlxcommon.js"></script>
	<script src="<%=path %>/js/dhtml/dhtmlx.js"></script>
	<script type="text/javascript">
	    var mygrid;
	    $(document).ready(function(){
	    	
	    	mygrid = new dhtmlXGridObject("mygrid_container");
	    	
	    	mygrid.setImagePath("<%=path%>/image/dhtml/");

	    	mygrid.setHeader("name, age,birthday,price");
	    	
	    	mygrid.setInitWidths("100,50,*,100");
	    	
	    	mygrid.setColAlign("left,right,center");
	    	
	    	mygrid.setColSorting("str,int,date");
	    	
	    	mygrid.setColTypes("edtxt,ed,dhxCalendar,ron");
	    	
	    	mygrid.enableMultiselect(true);
	    	
	    	mygrid.setSkin("dhx_skyblue");
	    	
	    	mygrid.attachEvent("onRowSelect",doOnRowSelected);
	    	
	    	mygrid.init();
	    	
                <!--格式化数字,第二个参数是列号,从0开始-->
	    	mygrid.setNumberFormat("0,000.00",3,",","."); 
	    	
	         mygrid.loadXML('<%=path%>/student/dhtmlListStudent.do?vmTemplate=index2.vm');
	    });
	    
	</script>
</body>
</html>

 结果,大失所望,竟然没有setNumberFormat这个方法,查看官方文档才知道,setNumberFormat这个方法只有在专业版里才支持,而我用的是标准版。知道了原因,自然要想解决办法。

 

 基于目前网络上的资源,最新的能够下载到的专业版是dhtmlx-2.5-pro.rar,下载链接已经放上。对比了一下我自己的3.5标准版,发现关于setNumberFormat,标准版里缺少几个方法,

setNumberFormat : function(mask, cInd, p_sep, d_sep) {
        var yJ = mask.replace(/[^0\,\.]*/g, "");
        var pfix = yJ.indexOf(".");
        if (pfix > -1)
            pfix = yJ.length - pfix - 1;
        var Jd = yJ.indexOf(",");
        if (Jd > -1)
            Jd = yJ.length - pfix - 2 - Jd;
        if (typeof p_sep != "string")
            p_sep = this.i18n.decimal_separator;
        if (typeof d_sep != "string")
            d_sep = this.i18n.group_separator;
        var pref = mask.split(yJ)[0];
        var Om = mask.split(yJ)[1];
        this._maskArr[cInd] = [pfix, Jd, pref, Om, p_sep, d_sep]
    },
    _aplNFb : function(data, ind) {
        var a = this._maskArr[ind];
        if (!a)
            return data;
        var ndata = parseFloat(data.toString().replace(/[^0-9]*/g, ""));
        if (data.toString().substr(0, 1) == "-")
            ndata = ndata * -1;
        if (a[0] > 0)
            ndata = ndata / Math.pow(10, a[0]);
        return ndata
    },
    _aplNF : function(data, ind) {
        var a = this._maskArr[ind];
        if (!a)
            return data;
        var c = (parseFloat(data) < 0 ? "-" : "") + a[2];
        data = Math.abs(Math.round(parseFloat(data) * Math.pow(10, a[0] > 0 ? a[0] : 0))).toString();
        data = (data.length < a[0] ? Math.pow(10, a[0] + 1 - data.length).toString().substr(1, a[0] + 1) + data.toString() : data).split("").reverse();
        data[a[0]] = (data[a[0]] || "0") + a[4];
        if (a[1] > 0)
            for (var j = (a[0] > 0 ? 0 : 1) + a[0] + a[1]; j < data.length; j += a[1])
                data[j] += a[5];
        return c + data.reverse().join("") + a[3]
    },

 那么,此时,我们需要做的就是把这几个方法拷贝到dhtmlxgrid.js中的相同位置。

最后,我们在页面中引入dhtmlxgrid.js,大功告成!

  • 大小: 2.5 KB
分享到:
评论
1 楼 zyp_tfy 2013-01-26  
大哥,谢谢了。

相关推荐

    dhtmlxgrid中文帮助文档

    dhtmlXGrid是dhtmlx前台JS组件里应用最多的表格插件,被认为是最好的组件,专业人事做过一系列测试,在众多插件中,此表格表现的效率是最高的

    dhtmlxgrid

    下面将详细介绍dhtmlxGrid的主要特性和API,以及与之相关的文件。 **主要特性:** 1. **数据绑定** - dhtmlxGrid能够绑定到各种数据源,包括本地数组、XML、JSON、CSV等,支持实时数据加载和分页。 2. **列配置**...

    dhtmlxgrid专业版下载

    通过解压提供的“dhtmlx”文件,开发者可以获取到这些资源,快速开始使用dhtmlxGrid进行项目开发。 总的来说,dhtmlxGrid专业版是一个强大且全面的前端表格解决方案,适合需要高效数据管理和交互的Web应用。通过...

    dhtmlxGrid

    ### 三、使用方法 1. **初始化**:首先,在HTML页面中引入dhtmlxGrid所需的CSS和JavaScript库,然后创建一个空的div元素作为grid的容器。 2. **配置**:通过JavaScript代码设置grid的基本属性,如列定义、数据源、...

    dhtmlxGrid介绍及使用手册(中文版)

    ### dhtmlxGrid介绍及使用手册知识点解析 dhtmlxGrid是一个强大的JavaScript网格组件,用于创建动态交互的数据表。它支持丰富的功能,例如自定义XML数据源,多行表头和表尾显示,列操作,以及处理大型数据集的能力...

    dhtmlx学习资料

    通过学习dhtmlxGrid、dhtmlxTree和dhtmlxChart等组件,以及熟悉其JavaScript API和事件处理机制,开发者可以构建出具有专业级特性的Web应用。同时,结合配套的官方文档,将有助于快速上手和精通dhtmlx。

    dhtmlxGrid v2.0使用手册

    **dhtmlxGrid v2.0使用手册** dhtmlxGrid是一款强大的JavaScript表格控件,广泛应用于Web应用程序中,用于展示、编辑和管理大量数据。它提供了丰富的功能,包括但不限于行和列的动态添加与删除、排序、过滤、分页...

    DhtmlxGrid 分页的自定义,DhtmlxGrid复选框多选整行

    本篇还有dhtmlxgird没有的复选框选中整行的效果,dhtmlxgrid多行选中使用的是 [Ctrl+鼠标]、[Shift+鼠标],在国内大部分的体验操作都是第一列放复选框的操作,因此本篇已将其优化; But,本篇还是存在一些小bug待大家...

    用Dhtmlx做的例子

    它还可以与其他DHTMLX组件结合使用,如Grid,实现事件的联动展示和管理。 4. **分层面板(Panels)**: 分层面板组件允许创建多层的布局,每个面板可以独立折叠和展开。这在需要展示复杂信息或需要用户逐步操作的...

    dhtmlxGrid取一列方法

    在探讨dhtmlxGrid如何取一列方法之前,我们首先需要了解dhtmlxGrid是什么以及它在Web开发中的角色。dhtmlxGrid是一款强大的JavaScript库,用于创建动态、可定制的表格界面,广泛应用于Web应用的数据展示和管理。它...

    dhtmlxgrid 1.4 pro

    4. **扩展性**:dhtmlxGrid 可以与其他DHX Suite组件(如dhtmlxToolbar、dhtmlxCalendar等)配合使用,构建更复杂的Web应用。 **四、优化与性能** 1. **虚拟滚动**:dhtmlxGrid 使用虚拟滚动技术,只渲染当前视口...

    DhtmlxGrid 分页的自定义模板,DhtmlxGrid复选框多选整行 dhtmlxgrid自定义按钮

    本篇还有dhtmlxgird没有的复选框选中整行的效果,dhtmlxgrid多行选中使用的是 [Ctrl+鼠标]、[Shift+鼠标],在国内大部分的体验操作都是第一列放复选框的操作,因此本篇已将其优化; 经测验基本需求符合,但是本篇还是...

    dhtmlxGrid 3.0

    **dhtmlxGrid 3.0 知识点详解** ...在实际应用中,开发者可以通过阅读文档、查看示例代码以及实验这些组件,深入了解dhtmlxGrid 3.0的全部功能和使用方法,从而创建出高效、交互性强的Web数据管理界面。

    dhtmlxgrid帮助文档

    dhtmlxgrid 帮助文档

    dhtmlxGrid2.1.zip

    6. **docsExplorer**:文档浏览器或示例库,可能包含dhtmlxGrid2.1的详细API文档和示例代码,方便开发者参考学习。 7. **dhtmlxToolbar**:dhtmlxToolbar是另一款dhtmlx组件,用于创建自定义工具栏,可以与dhtmlx...

    dhtmlxGrid 表格插件-在网页上实现Excel表功能.rar

    dhtmlxGrid 表格插件-在网页上实现Excel表功能,这个插件功能挺多,当然包括的示例也比较多,包括了Accordion折叠展开特效、... 压缩包中含有两个版本的dhtmlxGrid,一个是09年的,一个是16年的5.0版本,按需使用吧。

    12306_dhtmlxGrid

    在grid_example.html中,可以学习到如何在实际项目中设置和使用dhtmlxGrid,而在grid_init.js中,可以看到对组件的个性化配置和功能扩展。最后,dhtmlxGrid库提供了实现这些功能的基础框架。总的来说,这个项目展示...

Global site tag (gtag.js) - Google Analytics