2012-07-19 53 views
0

我想问在布尔变化

我有2布尔(复选框),所以我想这样做。

当我点击第一个布尔(复选框),布尔第二个是真实的,但如果我点击第二个布尔,条件第一个复选框是假的。

我怎么能这样做?谢谢

+0

这还不够信息。当您单击bool1时单击bool1和Flase,是否希望bool1和bool2都为True?或者你想要bool1保持点击状态,但改变其他人的? – MaxPowers 2012-07-19 08:34:52

+0

@MaxPowers no..bool1 True,但是当bool2为True时,bool1变为False – 2012-07-19 08:38:53

+0

是否意味着如果我单击bool1 = True bool2将为True,如果我单击bool2 True bool将为True?或者别的东西 – 2012-07-19 08:44:00

回答

2

你可以写更改方法,你可以返回其他字段或同一字段的值。所以,你的代码可能是这样的,在第一场就改变方法:

def on_change_bool1(self, cr, uid, ids, bool1): 
    return {'value':{'bool1':bool1,'bool2':False}} 

代码上改变功能

def on_change_bool2(self, cr, uid, ids, bool2): 
    return {'value':{'bool2': bool2,'bool1':False}} 

是在这里,您可以更改业务逻辑,但请记住,在变化的第二场它可以返回多个字段的原因,并且该值将被设置,因此如果您想强制设置某个布尔字段false,则强制返回false,这样您永远无法将其设置为true。或者你可以选择你的业务逻辑相同的方式。

希望这会帮助你。

+0

不...不,谢谢你这么多@firebug。如果我可以亲吻你,哈哈......我的朋友非常感谢你。你最好.... – 2012-07-19 09:09:36

+0

@ J.C我的荣幸;) – 2012-07-19 09:44:22

+0

对不起,我可以再问一次。我如何bool1是真的,但如果你点击bool1,它将是假的,但我不想那样。我想如果bool1是真的,我再次点击它,bool1仍然是真的 – 2012-07-19 09:49:06