2016-07-11 9 views
0

Openedgeの剣道UIウィジェットからサーバのフィルタリングを実装するための優れた方法を考え出すことができましたか?私たちは現在、既存のコードベースがPASまたはJSDOの使用を妨げる問題を抱えています。Openedge ABLでの剣道UIサーバのフィルタリング

感謝:)

+0

フィルタリングによってどのような種類のリクエストが生成されるかの例を投稿できますか? ajaxで完了した場合は、ブラウザの開発者ツールから取得できます。通常は[ネットワーク]タブ/領域です。 – Jensd

+1

Jens、私の返信でプレゼンテーションのスライド46にサンプルリクエストがあります –

答えて

1

私は昨年の会議の数でWebSpeedで剣道UIを使用してプレゼンテーションを与えている:

https://dl.dropboxusercontent.com/u/2749528/2015%20Kendo%20UI%20with%20WebSpeed.pdf

スライド46は、剣道UIコンポーネントというサンプルURIを示していバックエンドに発行されます。これをABLクエリ文字列に変換するだけで済みます。

これは、クエリ選択の処理方法の一部です。 oListQueryExpressionは、クエリの作成に使用するオブジェクトです。しかし、WHERE句をすぐに作成することもできます。

WebUtilitiesはget-fieldのような関数へのアクセスを提供する静的クラスです。

 REPEAT: 
     ASSIGN cFilterField = WebUtilities:GetField (SUBSTITUTE ("filter[filters][&1][field]":U, i)) 
       cFilterOperator = WebUtilities:GetField (SUBSTITUTE ("filter[filters][&1][operator]":U, i)) 
       cFilterValue = WebUtilities:GetField (SUBSTITUTE ("filter[filters][&1][value]":U, i)). 

     IF cFilterField > "":U THEN . ELSE LEAVE . 

     CASE cFilterOperator: 
      WHEN "eq":U THEN 
       oListQueryExpression:Add (NEW BufferFieldName (THIS-OBJECT:EntityTable, cFilterField), 
              OperatorEnum:EQ, 
              NEW CharacterHolder (cFilterValue)) . 
      WHEN "neq":U THEN 
       oListQueryExpression:Add (NEW BufferFieldName (THIS-OBJECT:EntityTable, cFilterField), 
              OperatorEnum:NE, 
              NEW CharacterHolder (cFilterValue)) . 
      WHEN "startswith":U THEN 
       oListQueryExpression:Add (NEW BufferFieldName (THIS-OBJECT:EntityTable, cFilterField), 
              OperatorEnum:Begins, 
              NEW CharacterHolder (cFilterValue)) . 
      WHEN "contains":U THEN 
       oListQueryExpression:Add (NEW BufferFieldName (THIS-OBJECT:EntityTable, cFilterField), 
              OperatorEnum:Matches, 
              NEW CharacterHolder ("*":U + cFilterValue + "*":U)) . 
      WHEN "endswith":U THEN 
       oListQueryExpression:Add (NEW BufferFieldName (THIS-OBJECT:EntityTable, cFilterField), 
              OperatorEnum:Matches, 
              NEW CharacterHolder (cFilterValue + "*":U)) . 
     END CASE . 

     ASSIGN i = i + 1 . 
    END. 

私はpscriptが提供するAPIにあまり慣れていません。しかし、他のフレームワークと容易に統合できるWebSpeedフレームワークがあることは知っています。

+0

私はクエリ文字列にデータを解析しようとしていましたが、むしろ面倒ですみません。 –

+0

厄介な用語です。特定の問題がありますか?あなたの最初の投稿で言及したJSDOは何もしません(JavaScriptでは、ABLではありません)。 –

+0

私は、提供されているクエリ文字列を区切って解析するために使用しなければならないさまざまなことをすべて知っていると思います。 –

関連する問題