我發現了一個腳本,可讓用戶編寫高級過濾器;此腳本可以從每個視圖加載當前過濾器,但不能加載Filtering
對話框中存在的所有過濾器。我希望能夠提取所有當前的高級過濾器,即使只是作爲字符串(因爲我有將這些字符串解析回Filter
類對象的工具)。如果有人知道DXL函數來檢索該信息,或者存儲過濾器字符串的位置,我將非常感謝這些信息。 注意:沒有運氣在Rational論壇中追逐這一點。保存所有高級過濾器的DXL腳本
0
A
回答
0
這是我的黑客方法。基本上,有一些設置和操作線,以及中間的一些過濾器定義和組合。這確實將定義的過濾器保存爲當前視圖的一部分。
// copypaste next block into DXL edit window
string viewName = "My_View"
filtering off
// individual items first
Filter head = attribute "_ObjectType" == "Heading"
Filter req = attribute "_ObjectType" == "requirement"
Filter inrev = attribute "_ReqStatus" == "In Review"
Filter ApprListBob = includes(attribute "_ApprovalList","BobJones")
Filter ApprListMary = includes(attribute "_ApprovalList","MaryContrary")
// now combine as desired. examples shown
// Filter ftwo = ((head && !freq) || inrev)
Filter foofilt = (head) || (req && inrev) //) && ApprListBob
set foofilt
filtering on
// now write
addFilter( foofilt)
set(foofilt)
refresh current // module...
save view viewName //last arg is viewname
// end of copypaste block
對於這些新的DXL語法,
& &爲AND ||對於OR !不適用
如果一個屬性只能取一個值,請使用attribute "atname" == "value"
表單。如果可能需要多個值(例如清單),請使用includes(attribute "atname", "value")
表單。
0
我不認爲現有的API可以解決您的問題。一種方法是重新編碼過濾器對話框並添加額外的功能。例如。您可以將高級篩選器列表存儲在磁盤上,並從您想要的位置重新使用它們。
+0
就是這樣,我擔心。我採取了類似的方法:寫出每個原子過濾器的基於DXL的定義,然後編寫組合,並將整個混亂粘貼到「編輯DXL」窗口並執行。看到我的答案爲kludge。 –
相關問題
- 1. 門DXL過濾器,
- 2. UITableView的高級過濾器
- 3. JTable的高級過濾器
- 4. 在高級設置中保存過濾器
- 5. 高級過濾器錯誤
- 6. 高級過濾器Excel VBA
- 7. DXL腳本門9.2
- 8. Visual Studio LightSwitch的高級過濾器控件存儲過濾器在哪裏?
- 9. Excel的高級過濾器不工作
- 10. SQL中的高級過濾器
- 11. jqGrid高級過濾器 - 執行自定義過濾器
- 12. sails.js中的高級過濾
- 13. Excel中 - 高級文本過濾
- 14. admob高級過濾的廣告(管理過濾器)
- 15. 過濾存儲過程的腳本
- 16. Excel高級過濾器動態範圍
- 17. PHP Codeigniter高級搜索過濾器
- 18. 如何設置高級Jira過濾器?
- 19. 高級過濾器不起作用
- 20. 使用高級過濾器 - Google Analytics
- 21. 高級過濾器,比較多列
- 22. 高級過濾器不工作
- 23. Excel VBA錯誤的高級過濾器副本
- 24. IBM Ration DOORS - DXL腳本
- 25. Excel高級過濾器 - 過濾具有多個單元格值的表格
- 26. 創建高級過濾
- 27. PHP MySQL高級過濾
- 28. LibreOffice:具有命名範圍的高級過濾器
- 29. 具有多個標準的高級過濾器
- 30. perl腳本的高級cron
我不同意這是你自己問題的答案。恕我直言,這是一個非常不方便的解決方法,沒有任何用戶界面污染你的模塊與一堆的意見。 –
@KaiK。首先,它不會**「污染...一堆視圖」 - 它使用**現有的**視圖名稱。接下來,這是一種解決方法,但它比通過內置GUI重建複雜的過濾器要快得多。如果你想要一個基於DXL的圖形用戶界面,可以讓你將整個過濾器寫成文本,我不會怪你 - 但我不確定這是否可能。 –
我道歉,我的評論有點兒沒有檢查片段的每一行請原諒,無論如何,我不明白這是如何回答你的問題「如何從內置的過濾器對話框中獲取過濾器定義」,當然也可以存儲過濾器我認爲你的方法比(重新)編碼過濾器對話更容易和更快,但我確信它是可能的 –