2016-09-01 5 views
0

以下は、私が苦労しているantlr文字列テンプレートコードです。私はデータを持つ可能性のあるItem.AmountPaidというプロパティを持っています(または)ときどき空白になる可能性があります。だから、データがないときは、Disabled TRを表示し、Enabled TRを非表示にする必要があります。私が直面している問題は、プロパティがデータを持っているかどうか、IF文だけが毎回実行されているかどうかです。あなたの貴重な提案をお知らせください。ご協力ありがとうございました!Antlr文字列テンプレートでTRタグを表示または非表示にする方法

 $ 
     orders: { Item| 
     $if(Item.AmountPaid)$ 
     <tr class="Enabled"> 
     <td>$Item.AmountPaid$</td> 
     <td>$Item.Name$</td> 
     <td>$Item.City$</td> 
     </tr> 

     $else$ 
     <tr class="Disabled"> 
      <td>$Item.AmountPaid$</td> 
      <td>$Item.Name$</td> 
      <td>$Item.City$</td> 
     </tr> 
     $endif$ 
     } 
     $ 
+0

StringTemplatesはANTLRとはまったく関係ありません。 STは、ANTLRによって使用されるスタンドアロンのlibです。 –

+0

AmountPaidはどのデータ型ですか? itemがboolean型の場合、 'if(item)'がうまく動作します。私は、STが空の値ではなくヌル値しかテストできないと信じています。 –

+0

こんにちはマイク、ありがとうございました。あなたは礼儀正しく、STはヌル(または)空でない値のみをテストしています。 AmountPaidは文字列型であり、時々空の値を取得しています。しかし、空の値ではなく、この文字列プロパティにNULL値を渡した後{あなたのコメントの後に私に打ちのめされた}}、それはうまくいった!再度、感謝します! – Bhargav

答えて

1

if(expression)句のチェックのみ、ブールヌルまたは空でない値で動作ではなく、例えば空の文字列の場合そのため、使用されている式がこれらの構文の1つであることを確認してください。

関連する問題