0

読み取り専用ブラウザにデータを提供する SDO があります。SDO クエリは複数のテーブルを結合し、計算フィールドと自然データ フィールドを持ちます。

ユーザーは検索機能を求めているため、ブラウザは検索語がテキスト フィールドのいずれかに含まれる行のみを表示します。

たとえば、彼らは行を見たいと思っています

customer.name matches "*bob*" OR
customer.address1 matches "*bob*" OR
product.description matches "*bob*" OR 
calc_field_1 matches "*bob*" OR
calc_field_2 matches "*bob*" OR ...

理想的には、回答は作成時に SDO 出力をフィルター処理しますが、smartbrowser への途中または smartbrowser でデータをフィルター処理することもできます。

4

2 に答える 2

0

最後に非常に単純なソリューションを使用しました。ユーザーは探している文字列を入力できます。文字列がブラウザのセルにある場合、セルは黄色で強調表示されます。

これ以前は、ユーザーは何百もの行から目的のセルを見つけるために上下にスクロールする必要がありました。より手の込んだものを作る時間も予算もありませんでした。

smartbrowser の重要なコードは次のようなものです...

on row-display of br_table in frame f-main
do:
    if rowObject.field1 matches "*BOB*" then 
       rowObject.field1:BGCOLOR in browse br_table = 14.
    if rowObject.field2 matches "*BOB*" then 
       rowObject.field2:BGCOLOR in browse br_table = 14.
    if rowObject.field3 matches "*BOB*" then 
       rowObject.field3:BGCOLOR in browse br_table = 14.

    ... etc ...

Bob だけを探すようにハードコーディングされているわけではありませんが、アイデアは得られるはずです。

于 2014-01-11T19:22:01.563 に答える