ie8下extjs2 会变形,新版的extjs3.0修正了这个bug
在网上找了一个修改方法
1: Ext.override(Ext.menu.DateMenu, {
2: autoWidth: function() {
3: var el = this.el, ul = this.ul;
4: if (!el) {
5: return;
6: }
7: var w = this.width;
8: if (w) {
9: el.setWidth(w);
10: } else if (Ext.isIE && !Ext.isIE8) {
11: el.setWidth(this.minWidth);
12: var t = el.dom.offsetWidth; // force recalc
13: el.setWidth(ul.getWidth() + el.getFrameWidth("lr"));
14: }
15: }
16: });
通过实验比起作用,调试时候发现extjs2.2.1并没有Ext.isIE8这个属性,不知道其他人是怎么用的?难道版本不一样?
后断点调试发现Ext.isIE6=true 我的机器明明是win7+ie8啊.难道win7的ie8被extjs当作了ie6.
后修改上面判断if (Ext.isIE && !Ext.isIE6) bug修复.
posted @ 2009-07-09 17:42 午夜瞎想 阅读(445) 评论(0) 编辑
由于在GridView控件里面实现过一次,所以用js来做也是比较容易的.基本的原来就是分析表头根据字符串进行拆分 比如我这里用的特殊符号是"_"
我在GridView里面实现的是可以无限层的,js的实现我直接写死了层数,不过很容易修改,写个递归就ok啦.
数据源为:
"[{\"用电单位\":\"郭楼三陈\",\"2009-06-01_度数\":\"\",\"2009-06-01_单价\":\"\",\"2009-06-01_金额\":
\"\",\"2009-07-01_度数\":\"242.00\",\"2009-07-01_单价\":\"12.00\",\"2009-07-01_金额\":\"2904.0000\"},
{\"用电单位\":\"狼坡\",\"2009-06-01_度数\":\"190.00\",\"2009-06-01_单价\":\"12.00\",
\"2009-06-01_金额\":\"2280.0000\",\"2009-07-01_度数\":\"23.00\",\"2009-07-01_单价\":\"21.00\",
\"2009-07-01_金额\":\"483.0000\"}];"
可以看到我的表头类似是"2009-06-01_度数"这样的结构,然后通过js进行处理.
1: <script>
2: $(window).ready(function() {$.getJSON("/Power/PowerStatList/",{ id: "0", sid: "1;2;3", rid: Math.round(Math.random() * 10) },
3: function(json) {
4: jsonval = eval(json);
5: for (var j = 0; j < jsonval.length; j++) {
6: $("#GridView1 tr:last").after("<tr id='" + j + "'></tr>");
7: var m = 0;
8: for (var i in jsonval[j]) {
9: if (j == 0) {
10: $("#tableHeader").append("<td id='h" + m + "'>" + i + "</td>");
11: }
12: $("#GridView1 tr:last").append("<td>" + jsonval[j][i] + "</td>");
13: m++;
14: }
15: }
16: $("#GridView1 tr:first").before("<tr id='newHeader'></tr>");
17: var temp = "";
18: var col = 1;
19: var trs = {}
20: $.each($("#tableHeader td"), function(i, td) {
21:
22: if ($(td).text().indexOf('_') > 0) {
23: if (temp != "") {
24: if (temp != $(td).text().split('_')[0]) {
25: $("#GridView1 tr:first").append("<td colspan=" + col + ">" + temp + "</td>");
26: col = 1;
27: }
28: else {
29: col++;
30: }
31: }
32: temp = $(td).text().split('_')[0];
33: }
34: else {
35: $("#GridView1 tr:first").append("<td rowspan=2>" + $("#h" + i).text() + "</td>");
36: $("#h" + i).remove();
37: }
38: $(td).text($(td).text().split('_')[0]);
39: });
40: $("#GridView1 tr:first").append("<td colspan=" + col + ">" + temp + "</td>");
41:
42: });
43: });
44:
45: </script>
46:
47: <table border=1 id="GridView1">
48: <tr id="tableHeader">
49:
50: </tr>
51:
52: </table>
效果:
加上样式就好看了 O(∩_∩)O哈哈~
posted @ 2009-07-09 00:08 午夜瞎想 阅读(2003) 评论(0) 编辑
