我需要估計(並可能在稍後構建)ASP.NET WebForms應用程序中的複雜篩選器。過濾器必須基於ASP.NET AJAX或jQuery來實現高交互性。該過濾器必須允許過濾具有複雜邏輯條件(和,或,大括號)和多個操作員的數據。用戶必須能夠保存過濾器的查詢並稍後使用它(加載它)(服務器邏輯)。而且在運營商方面還有一些討論。Web應用程序中的複雜篩選
應用程序應該提供一些圖形過濾器構建器。我想完全控制一組操作數(過濾字段)和操作符。該組件將用於應用程序中的所有過濾操作。我的問題是隻有如何做的UI部分 - 翻譯「建設」的查詢結構不是一個問題。
你有沒有做過這樣的事情?你可以分享一些經驗如何最好和最快的建立這樣的組件?我是否需要開發組件或者是否存在具有至少一些功能並且可以擴展以提供其他功能的現有組件?因爲我對客戶端開發不是很有經驗,所以我不知道從零開始開發這樣的組件有多複雜。
另一種可能性是定義一些元查詢語言並允許用戶將查詢寫入某個查詢文本框,並支持構建邏輯表達式。
我已經檢查可用的控件的DevExpress和Telerik的工具包:
- 優點:非常好的可視化,速度快。我們可能擁有DevExpress許可證。
- 缺點:與DevExpress網格緊密結合。基於文檔沒有可擴展性,不能控制操作數和操作符。它使用作爲網格列提供的操作數 - 我需要更多。可能無法保存和加載過濾器。
- 優點:不加上格,它看起來像單獨的控制。
- 缺點:我沒有找到文檔 - 我不確定可擴展性,但代碼看起來像使用一些數據綁定控件作爲操作數源=問題。我不喜歡可視化。演示非常慢。我們沒有Telerik許可證。
謝謝。我可以在DevExpress過濾器中定義自己的一組過濾字段嗎?我需要連接記錄中的文件,這些記錄不是傳遞給網格的結果的一部分。還有可能存儲和加載過濾器表達式? – 2010-09-21 17:09:21
Hi Ladislav, 是的,這是可能的。這可以使用ASPxGridView的HeaderFilterFillItems事件來完成,描述如下: http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewASPxGridView_HeaderFilterFillItemstopic – 2010-09-21 17:24:08