Extjs3 EditorGridPanel的beforeedit事件参数

beforeedit : ( Object e )

只有一个事件(edit event)参数,但这个参数内容很丰富,可以满足很多需求。
参数分别如下:
grid – 表格本身
record – 你要编辑的那一行记录
field – 你编辑的列名
value – 你编辑的值
row – 行号
column – 列号
cancel – 设这个为true或者return false可以取消编辑(不显示那个编辑框)


Extjs renderer参数

function myRenderer(value, cellmeta, record, rowIndex, columnIndex, store) {
[...]
}
看上面的myRenderer,依次最多有6个参数
1 value: 当前单元格的值
2 cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。(没看懂???)
3 record:这行的所有数据,可以通过record.data["id"]获得本行中“id”字段的值。
4 rowIndex:行号,不是从头往下数的意思,而是计算了分页以后的结果。
5 columnIndex:列号
6 store:整个grid关联的数据

来源:http://blog.sina.com.cn/s/blog_5140a6a50100bfat.html
关于该store的访问,可以看http://blog.chinaunix.net/u1/37472/showart_2190023.html


Ext.encode与Ext.decode的JSON转换

在Extjs中,我们可以通过json来交换数据,Extjs内置了两个方法来互相转换。

Ext.decode( String json ) : Object

把json字符串转换为对象

Ext.encode( Mixed o ) : String

把对象转换为字符串,用这个方法可以在ajax提交时返回数据

var arr = [];
var field1 = {};
field1['name'] = 'fatkun';
field1['age'] = 23;
var field2 = {};
field2['name'] = 'test';
field2['age'] = 24;
arr.push(field1);
arr.push(field2);
Ext.encode(arr);
//返回结果"[{"name":"fatkun","age":23},{"name":"test","age":24}]"

Python遍历淘宝成交记录(版本二)

前一版本的基础上,加入了排序。按物品和日期来排序,排除重复的价格和物品


Python list的多列排序

Python 中的排序真的很方便
你可以使用alist.sort()或者sorted(alist)进行排序。不同的是,前者会改变原来list的顺序。
在python中你可以简单的指定key则可以按照某一列排序

#默认顺序
>>> l
[('aa', '2'), ('aa', '1'), ('bb', '1'), ('dd', '3'), ('cc', '4')]
 
#普通排序,默认会按顺序进行排序
>>> sorted(l)
[('aa', '1'), ('aa', '2'), ('bb', '1'), ('cc', '4'), ('dd', '3')]
 
#指定排序的优先级,在这里你可以看到多列排序只需要用逗号隔开即可
>>> from operator import itemgetter, attrgetter
>>> sorted(l, key=itemgetter(1, 0))
[('aa', '1'), ('bb', '1'), ('aa', '2'), ('dd', '3'), ('cc', '4')]

对List里的dict排序,key=lambda x:x['b']。b为你想排序的列

>>> l = [{'a':'fatkun', 'b':23}, {'a':'ken', 'b':21}]
>>> sorted(l, key=lambda x:x['b'])
[{'a': 'ken', 'b': 21}, {'a': 'fatkun', 'b': 23}]

这样的排序方法实在是太简单了~~另外如果需要更复杂的方法,可以使用cmp参数,自己写一个方法比较。

参考文章:
http://wiki.python.org/moin/HowTo/Sorting/


Python遍历淘宝成交记录

本着学习urllib和正则re的原因和无比蛋疼,另外想把淘宝的成交记录全部列出来看看价格的变化
在这个例子中你可以学到

  1. urllib2 addHeader的使用
  2. 正则表达式的使用

使用前需要配置一下url变量,淘宝物品的成交记录下一页的链接,请复制链接,把最后一个页数的数字删掉,放在url变量里
因为里面太多参数了,没办法只改变某些变量

结果会保存在c:\log.txt文件内。