這可能很簡單,但我是Oracle新手。我正在使用Oracle 10g,並且有一個表格,它以表格式佈局中的鏈接表格列出我們的信息。最後一列數據是具有啓用(T)和禁用(F)元素列表的「列表項」項目類型。如何在Oracle中的表格佈局中控制行
我需要的是,當用戶將此下拉列表更改爲禁用時,我只希望該行有一些列被禁用,而不是整列。
這也假定負載的形式,它會禁用和啓用數據行取決於從數據庫中的EnabledDisabled列中拉出什麼值。
感謝您的幫助!
這可能很簡單,但我是Oracle新手。我正在使用Oracle 10g,並且有一個表格,它以表格式佈局中的鏈接表格列出我們的信息。最後一列數據是具有啓用(T)和禁用(F)元素列表的「列表項」項目類型。如何在Oracle中的表格佈局中控制行
我需要的是,當用戶將此下拉列表更改爲禁用時,我只希望該行有一些列被禁用,而不是整列。
這也假定負載的形式,它會禁用和啓用數據行取決於從數據庫中的EnabledDisabled列中拉出什麼值。
感謝您的幫助!
選項1:使用ENABLED
項目屬性。
不幸的是,Oracle Forms不允許在項目實例級別更改項目的ENABLED
屬性。
你能做什麼,但是,是啓用或當用戶輸入一個記錄禁用整個項目 - 使用WHEN-NEW-RECORD-INSTANCE
觸發 - 根據當前記錄的列表項值的值,觸發將設置ENABLED
財產改爲PROPERTY_TRUE
或PROPERTY_FALSE
。
當然,您的列表項目也會在其WHEN-LIST-CHANGED
觸發器中具有相同的代碼。
這種方法的缺點是整列對用戶來說「禁用」,並且他們將無法使用這些禁用的項目選擇不同的記錄。
選項2:使用INSERT_ALLOWED
和UPDATE_ALLOWED
屬性。
您可以使用SET_ITEM_INSTANCE_PROPERTY
在項目實例級別設置這些屬性。您可以在塊的POST-QUERY
觸發器以及列表項的WHEN-LIST-CHANGED
觸發器中設置它們。
但是,這不會改變項目在屏幕上的顯示方式。爲了解決這個問題,您還可以在項目實例級別設置可視化屬性(例如,將項目更改爲使用深灰色背景或其他內容)。
好吧,那太臭了。好吧,我想我只是在用戶的表單上對功能進行明確的描述。再次謝謝傑夫,因爲你救了我的時候沒有旋轉我的輪子。 – DotNetDan 2010-03-25 13:42:44
不直截了當,不幸的是:) - 但是我已經使用了選項2很多次。 – 2010-03-25 13:53:57