2011-12-07 5 views
0

長い連結文字列内にいくつかのコンテンツを追加しています(恐ろしいですね。文字列が次の行にオーバーフローしているかどうかを調べるにはどうすればいいですか?

私はデータテーブルから3列のデータを表示しなければならず、私のコードはこのように見えます。

 If Not IsNothing(MyBase.EligibilityQuestions) Then 
      Dim sw As System.IO.StringWriter 
      For Each row As DataRow In MyBase.EligibilityQuestions.Rows 
       sw = New System.IO.StringWriter 

       For Each col As DataColumn In MyBase.EligibilityQuestions.Columns 
        sw.Write(row(col).ToString() & ", ") 
       Next 
       OverFlowEndorsments &= sw.ToString() 
       OverFlowEndorsments &= nl 
      Next 
     End If 

私の問題は、私は私が挿入することはできませんので、私はDynamicPDFのためにこれを書いて、新しい行にオーバーフローすると、それが属する列からテキストに並ばないテキストで終わるですHTML、私はこれをテーブルのように見せようとしています(すべての列が並んでいます)。

各行の文字数をカウントするのが不十分で、私は何をすべきかわかりません。まず、あなたはCSVではなく、固定幅の同等を書いている

+0

あなたはここで何をで貼り付けることができますあなたはまさに.. ..に終わりますか?また、各ループのためになぜ新しいStringWriterを作成しているのですか?Sw = New System.IO.StringWriterを各ループの最初のものの外に移動できますか?VB.NETはC#.NETのようにStringBuilderを使用しますそのオブジェクトのインスタンスとappendメソッドを使用し、完了したらStringBilder.ToString()の内容をStringWriterに書き込みます – MethodMan

答えて

0

は、私はあなたが2可能性のある問題を持っていると思います。したがって、出力は、使用されるデータに応じて各行ごとに異なります。必要に応じてスペースを挿入するには、 'PadLeft'または 'PadRight'を使用して固定幅の文字列を出力するように切り替えてみてください。

第二に、あなたのデータはちょうどあなたが多分あなたのPDFのターゲットを再フォーマットするか、何らかの形で起こってデータを切り捨てる必要があります。その場合には、それはに起こった空間、のために大きすぎるかもしれません。

関連する問題