该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-02
现在看起来真差 但还是发上来吧 这个project可以让你的 [现有] 的列表table 在[几乎不用修改]的情况下, 自动支持手动调节列宽的功能。完全基于DHTML前台技术,与服务器端无关。 通常情况下 你真正要做的工作只是(当然还有更高级的用法,说明晚些时候奉上) 1 引入脚本 <SCRIPT language="javascript" src="mycommon.js"></SCRIPT> <SCRIPT language="javascript" src="mylisttable.js"></SCRIPT> 2 在页面初始化方法里执行: 新建 MyListTableManager 对象,并初始化: window.demoManager=new MyListTableManager(); demoManager.initDefaultStyle(); 将你自己的table id告诉刚刚创建的 MyListTableManager 对象: demoManager.addNewMyListTable("你的列表table的id"); 注意: 0 目前只支持IE 6。 IE其他版本未测试。暂时不支持FireFox浏览器。 1 不管如今AJAX RIA RCP这些东西如何流行,用js来实现的展现层不可能达到用C写的GUI程序的水平,所以期望值不要太高:)。 2 测试中,肯定还有很多bug... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-11-04
呵呵,怎跟我计划写的东东一个方向的。
支持一下: function startsWith(str,start,iCase,iShift){ if (isValid(iShift) && iShift) { str=ignoreSHIFT(str); start=ignoreSHIFT(start); } var flags =""; if (isValid(iCase) && iCase) { flags = "i"; } var reg = new RegExp("^"+start+".*",flags); return reg.test(str); } function ignoreSHIFT(str){ var mapping={ "!" : "1", "@" : "2", "#" : "3", "\\$" : "4", "%" : "5", "\\^" : "6", "&" : "7", "\\*" : "8", "\\(" : "9", "\\)" : "0", "~" : "`", "_" : "-", "\\+" : "=", "\\{" : "[", "}" : "]", ":" : ";", ">" : ".", "<" : ",", "\\?" : "/", "\\\"" : "'", "\\|" : "\\" }; var reg = new RegExp("",""); for (var k in mapping){ reg.compile(k,"g"); str = str.replace(reg,mapping[k]); } return str; /* 考虑用正则表达式 */ /* var newStr=""; for (var i=0;i<str.length ;i++ ){ var c=str.charAt(i); for (var k in mapping){ if (c==k){ c=mapping[k]; break; } } newStr+=c; } return newStr; */ } alert(ignoreSHIFT("~!@#$%^&*()_+|{}:\"<>?")); 上述代码没经长细测试,所以如果有bug实属正常:)。 |
|
返回顶楼 | |
发表时间:2006-11-04
function startsWith(str,start,iCase,iShift){ if (isValid(iShift) && iShift) { str=ignoreSHIFT(str); start=ignoreSHIFT(start); } var flags =""; if (isValid(iCase) && iCase) { flags = "i"; } var reg = new RegExp("^"+start+".*",flags); return reg.test(str); } function ignoreSHIFT(str){ var mapping={ "!" : "1", "@" : "2", "#" : "3", "\\$" : "4", "%" : "5", "\\^" : "6", "&" : "7", "\\*" : "8", "\\(" : "9", "\\)" : "0", "~" : "`", "_" : "-", "\\+" : "=", "\\{" : "[", "}" : "]", ":" : ";", ">" : ".", "<" : ",", "\\?" : "/", "\\\"" : "'", "\\|" : "\\" }; var reg = new RegExp("",""); for (var k in mapping){ reg.compile(k,"g"); str = str.replace(reg,mapping[k]); } return str; /* 考虑用正则表达式 */ /* var newStr=""; for (var i=0;i<str.length ;i++ ){ var c=str.charAt(i); for (var k in mapping){ if (c==k){ c=mapping[k]; break; } } newStr+=c; } return newStr; */ } alert(ignoreSHIFT("~!@#$%^&*()_+|{}:\"<>?")); 怀疑这段代码的效率 一段简化的startsWith String.prototype.startsWith = function(pf) { pf = typeof(pf) != "string" ? "" + pf : pf; return this.indexOf(pf) == 0; } |
|
返回顶楼 | |
发表时间:2006-11-04
看看这个:
http://makoomba.altervista.org/grid/ 基于jquery的。不错。可惜没文档,难直接重用。 我拿来用了,并且做了些修改,变得更实用,而且也可以重复使用。等做完之后,贴个修改的版本上来。 |
|
返回顶楼 | |
发表时间:2006-11-04
[quote="gp03d]
怀疑这段代码的效率 一段简化的startsWith String.prototype.startsWith = function(pf) { pf = typeof(pf) != "string" ? "" + pf : pf; return this.indexOf(pf) == 0; } 事实上我只是看到LZ的ignoreSHIFT方法上注明准备用正则,我就随手写了一个。 呵呵,startsWith的改写是我顺手用正则表达式改了一下。 至于效率你测试了你的比我的快了吗? 当然,放到String.prototype是一个好的方法! |
|
返回顶楼 | |
发表时间:2006-11-05
startsWith
等方法实际上在这个组件中没有用上 |
|
返回顶楼 | |
发表时间:2006-11-07
liuyxit 写道 [quote="gp03d]
怀疑这段代码的效率 一段简化的startsWith String.prototype.startsWith = function(pf) { pf = typeof(pf) != "string" ? "" + pf : pf; return this.indexOf(pf) == 0; } 事实上我只是看到LZ的ignoreSHIFT方法上注明准备用正则,我就随手写了一个。 呵呵,startsWith的改写是我顺手用正则表达式改了一下。 至于效率你测试了你的比我的快了吗? 当然,放到String.prototype是一个好的方法! 前几天我整理公司js的时候,测试过的~ 用一个1W次的循环测试indexOf与RegExp的效率,发现indexOf能比RegExp方式节省近一半的时间。 不知道是否还有其他更加可靠的办法,如果有请告诉我:) |
|
返回顶楼 | |
发表时间:2006-11-08
正则这东西确实是把双忍剑
本身效率就不高 再加上正则表达式的写法也是比较有学问的 对大规模的字符串进行操作 正则确实不是好办法啊 |
|
返回顶楼 | |
发表时间:2006-11-17
lz的效果看不到阿,
不过这个说得还不错啊 引用 看看这个:
http://makoomba.altervista.org/grid/ 基于jquery的。不错。可惜没文档,难直接重用。 我拿来用了,并且做了些修改,变得更实用,而且也可以重复使用。等做完之后,贴个修改的版本上来。 就是不知道能不能作为一个独立的控件来用呢,可不可以一个页面上面显示多个表格呢,这个我觉得还是挺重要的问题 |
|
返回顶楼 | |
发表时间:2007-04-06
呵呵,我也写过一个:
http://www.jiehoo.com/resizable-frame-and-table.htm |
|
返回顶楼 | |