2009-08-16 5 views
0

私はさらにコンマ(例えばPeter Adams,255 Jhonson Street, NY,74322 $$ Mary Luther,54 Eglinton Ave.,Mississauga,ON L5A1W6)で区切られた明細の一覧です$$で区切られた文字列トークンを持っている表示文字列トークン

私はBIRT出力の仕方

Name : Peter Adams 
Addr :255 Jhonson Street 
City : NY 
Pincode :74322 

Name : Mary Luther 
Addr :54 Eglinton Ave. 
City :Mississauga 
Pincode :ON L5A1W6 

を以下に上記表示したいです

私は、次のコードを使用してみましたが

var myexp =/[$$]/; 
var match = myexp.exec(dataSetRow["SDR"]); 
if(match !=null) 
{ 
array=dataSetRow["SDR"].split("$$"); 
//dataSetRow["SDR"] ="x"; 
var string=null; 
for(var i=0; i<array.length; i++) 
{ 
string+=array[i]+"\n\n"; 

} 
dataSetRow["SDR"]=string.substring(4,string.length); 
} 
else 
{ 
dataSetRow["SDR"]=dataSetRow["SDR"]; 
} 
いずれかが、いくつかの提案を与えることができ

Peter Adams,255 Jhonson Street, NY,74322 

Mary Luther,54 Eglinton Ave.,Mississauga,ON L5A1W6 

を次のように文字列トークンを表示

答えて

0

トークンが埋め込まれた「配列」があります。良い!コンマ(array [index] .split( "、"))を別の配列(たとえばarray1)に分割し、array1の個々の要素を使用して必要な形式で値を出力します。

0

データバインディング自体を実際に上書きするのではなく、テキストコントロールを使用することを検討しましたか?テキストコントロール内では、すべての書式設定を行い、必要に応じて出力を取得し、データバインディングの整合性を損なわないようにすることができます。

これを行うには、テキスト要素を(データ要素自体ではなく)テーブルにドラッグするだけです。テキスト項目は、テーブルが構築されるときに各行のデータにアクセスできます。次に、HTML出力用のtext要素を「ダイナミックテキスト」のタイプで構成します(両方ともテキスト項目ダイアログのドロップダウンで設定されます)。テキストアイテムを生成するための式としてこれを追加します。

var myexp =/[$$]/; 
var match = myexp.exec(dataSetRow["SDR"]); 
var outString = ""; 

if(match != null) { 
    var splitResult = dataSetRow["SDR"].split(" $$ "); 
    for(i = 0; i < splitResult.length; i++){ 
     outString = outString + splitResult[i].replace(",", ":");   
    } 
} 
else 
    outString = dataSetRow["SDR"]; 

"Name: " + outString;