2011-12-12 191 views
1

我在數據窗口複選框,可以選中和未選中。數據庫中的默認值爲0.選中時,數據庫值更新爲1,取消選中後,該值再次更新爲0。的PowerBuilder:複選框在數據窗口

不過,我想更新數據庫只有當它的價值0。如果已經是1,那麼我不希望用戶能夠將其改回爲0。所以,請告訴我如何我可以去做? 這是從我的數據窗口的代碼複選框列:

column=(type=decimal(0) update=yes updatewhereclause=yes name=ok dbname="table.ok" values="1/0" ) 

回答

2

你可以保護該複選框以防止取消選中它:在您的複選框的general/protect領域:

if(ok = 1, 1, 0) 

一旦複選框已被檢查,它變得受保護(你仍然需要更新數據到基地)。 在下一次檢索時,您可以看到複選框已被保護。

您可能需要使用類似的表達式爲Pointer表明該場被封鎖,例如與NoPointer!光標。

+0

謝謝您的回答。我粘貼表達'如果(OK = 1,1,0)'在保護表達式框,但它給錯誤'期待真/假expression'。我是否需要從函數或列框中選擇一些內容?我會感謝你的幫助。 – Billa

+0

@Billa這是奇怪...如果你更換'OK = 1'由TRUE;或'FALSE'它保護或永久取消保護的複選框?如果是這樣,你在測試部分有型的'如果()'是不是一個邏輯測試... – Seki

+0

嘗試在鍵入它。從網頁上粘貼有時讓你怪異字符(非中斷空格和這樣)。另一種方法是首先粘貼到像Notepad ++這樣的文本編輯器來查看實際存在的內容。 –