是否有可能在jqGrid(jquery网格http://www.trirand.com/blog/)中有自定义单元格文本颜色,例如在价格列中我想要红色,如果价格> 100 $,绿色如果价格<50 $其他灰色?
更普遍的做法
jqGrid提供了更改网格单元视图的钩子,例如,我可以在创建或修改price列的单元格时注册回调.
或者是否可以有单独的模型和视图(客户端),例如从服务器我可以为每一行发送两个数据,即如何显示和显示什么
编辑:所以这里是一个示例显示样本格式化程序,它根据值为单元格着色
function infractionInFormatter(el, cellval, opts)
{
$(el).html(cellval).css('color',infraction_color_map[cellval]);
}
colModel :[
...
{name:'date', index:'date', width:120, date:true},
{name:'inf_out', index:'inf_out', width:60, formatter:infractionInFormatter,},
...
],
Run Code Online (Sandbox Code Playgroud) 我正在使用py2app/setuptools构建一个应用程序,所以一旦它创建了应用程序包,我想对dist文件夹采取一些操作,例如创建一个安装程序/上传它.
有办法吗?我找到了一些安装后的解决方案但没有后期构建
或者我可以从我自己的脚本中调用'python setup.py py2app'并执行此操作,但如果可以在setup.py中完成它会更好
是否可以将软件包安装到任意文件夹?例如,我尝试将软件包安装到本地文件夹但是它会引发错误,任何其他软件包都会出现同样的错误
/tmp$ pip install --install-option="--prefix=mypython" IPy
Downloading/unpacking IPy
Downloading IPy-0.75.tar.gz
Running setup.py egg_info for package IPy
Installing collected packages: IPy
Running setup.py install for IPy
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/commands/install.py", line 250, in run
requirement_set.install(install_options, global_options)
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/req.py", line 1133, in install
requirement.install(install_options, global_options)
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/req.py", line 604, in install
f = open(os.path.join(egg_info_dir, 'installed-files.txt'), 'w')
IOError: [Errno 2] No such file or directory: 'mypython/lib/python2.7/site-packages/IPy-0.75-py2.7.egg-info/installed-files.txt'
Run Code Online (Sandbox Code Playgroud)
同样这个问题,表明它应该是工作,所以这里有什么问题?
我试图在点击事件后从我的js文件设置范围的数据ID和/或值.
<span id="test"></span>
Run Code Online (Sandbox Code Playgroud)
我的sudo代码js文件
nextLink: function(event) {
$('#test').val = 3;
$('#test').data('id') = 'Next';
},
Run Code Online (Sandbox Code Playgroud) 是否有标准定义了如何比较JavaScript,在Chrome控制台上我得到了这个
[10,0,0] > [1,0,0]
true
[10,0,0] > [5,0,0]
false
[5, 0, 0, 0] < [10, 0, 0, 0] //repeatable
false
[10,0,0,0] > [9,0,0,0]
false
[11,0,0,0] > [10,0,0,0]
true
Run Code Online (Sandbox Code Playgroud)
这是非常不显眼的,我甚至无法理解正在应用什么逻辑,并且它们看起来可重复,所以不基于对象id(ref)等,所以有没有任何文档呢?
在我的wxPython应用程序中,我创建了wx.ScrolledPanel一个wx.StaticBitmap需要滚动的大型应用程序.
滚动条确实出现,我可以用它们滚动,但我也希望能够用鼠标滚轮和键盘上的箭头键滚动.如果"Home","Page Up"和其他键也可以按预期运行,那将是很好的.
我该怎么做呢?
更新:
我看到了问题.ScrolledPanel能够滚动,但仅在焦点处于焦点时.问题是,我如何成为焦点?即使点击它也不会这样做.只有当我在其中放置一个文本控件时,我才可以专注于它,然后滚动滚轮.但我不想在其中有文本控件.那么我该如何让它集中注意力呢?
更新2:
这是一个显示这种现象的代码示例.取消注释以查看文本控件如何使鼠标滚轮工作.
import wx, wx.lib.scrolledpanel
class MyFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
scrolled_panel = \
wx.lib.scrolledpanel.ScrolledPanel(parent=self, id=-1)
scrolled_panel.SetupScrolling()
text = "Ooga booga\n" * 50
static_text=wx.StaticText(scrolled_panel, -1, text)
sizer=wx.BoxSizer(wx.VERTICAL)
sizer.Add(static_text, wx.EXPAND, 0)
# Uncomment the following 2 lines to see how adding
# a text control to the scrolled panel makes the
# mouse wheel work.
#
#text_control=wx.TextCtrl(scrolled_panel, -1)
#sizer.Add(text_control, wx.EXPAND, 0)
scrolled_panel.SetSizer(sizer)
self.Show()
if __name__=="__main__":
app = wx.PySimpleApp() …Run Code Online (Sandbox Code Playgroud) 我在 ruby 中看到了非常有趣和灾难性的行为,请参阅下面的代码
class ExceptionTest
def test
@result = [0]*500000
begin
no_such_method
rescue Exception => ex
puts "before #{ex.class}"
st = Time.now
ex.message
puts "after #{Time.now-st} #{ex.message}"
end
end
end
ExceptionTest.new.test
Run Code Online (Sandbox Code Playgroud)
理想情况下ex.message不应花费任何时间来执行,因此花费的时间应以毫秒为单位,但这是输出
before NameError
after 0.462443 undefined local variable or method `no_such_method' for #<ExceptionTest:0x007fc74a84e4f0>
Run Code Online (Sandbox Code Playgroud)
如果我分配[0]*500000给局部变量而不是实例变量,例如result = [0]*500000它会按预期运行
before NameError
after 2.8e-05 undefined local variable or method `no_such_method' for #<ExceptionTest:0x007ff59204e518>
Run Code Online (Sandbox Code Playgroud)
看起来像是以某种方式ex.message循环遍历实例变量,为什么会这样做,请赐教!
我已经在 ruby ruby-1.9.2-p290、ruby-1.9.1-p376、ruby 2.0.0 以及 codepad.org 上的 ruby 版本上尝试过。
当我尝试从 URL 获取图像并将其响应中的字符串转换为ImageApp Engine时,我收到了上述消息的错误。
from google.appengine.api import urlfetch
def fetch_img(url):
try:
result = urlfetch.fetch(url=url)
if result.status_code == 200:
return result.content
except Exception, e:
logging.error(e)
url = "http://maps.googleapis.com/maps/api/staticmap?center=Narita+International+Airport,Narita,Chiba+Prefecture,+Japan&zoom=18&size=512x512&maptype=roadmap&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false"
img = fetch_img(url)
# As the URL above tells, its size is 512x512
img = Image.fromstring('RGBA', (512, 512), img)
Run Code Online (Sandbox Code Playgroud)
根据PIL, size 选项假设是一个像素元组。这是我指定的。谁能指出我的误解?
我有一个派生自基类的类,并且有许多行代码
例如
class AutoComplete(TextCtrl):
.....
Run Code Online (Sandbox Code Playgroud)
我想要做的是更改基类,以便它的工作方式
class AutoComplete(PriceCtrl):
.....
Run Code Online (Sandbox Code Playgroud)
我已经使用了两种类型的AutoCompletes,可能想添加更多的基类,那么我该如何动态地做呢?
组合将是一个解决方案,但我不想修改代码很多.
有什么简单的解决
我正在构建一个网站,我需要用户能够根据数据库表中的值来评估某些表达式,而不是使用像pyparsing等工具,我正在考虑使用python本身,并提出了一个解决方案这足以达到我的目的.我基本上使用eval来评估表达式并传递全局变量dict为空,__builtins__这样就没有任何东西可以被访问,本地人会为DB中的值进行dict,如果用户需要一些函数我也可以传递它们,例如
import datetime
def today():
return datetime.datetime.now()
expression = """ first_name.lower() == "anurag" and today().year == 2010 """
print eval(expression, {'__builtins__':{}}, {'first_name':'Anurag', 'today':today})
Run Code Online (Sandbox Code Playgroud)
所以我的问题是它有多安全,我有三个标准
编辑:IMO这不是Q:661084的重复,因为它结束了这一个开始,我想知道即使__builtins__被阻止,用户可以做坏事吗?