richtextbox

时间:2017-11-18 13:05:49

标签: vb.net richtextbox

在我之前的问题中,我发布了一个代码,该代码在一个富文本框中添加了一个表(实际上并不只是将数据添加到dgvw的richtxtbx中)。代码是:

  For i As Integer = 0 To dg2.Rows.Count - 2
        SendMail.bodytxt.Text = SendMail.bodytxt.Text + "-"
        For j As Integer = 0 To dg2.Columns.Count - 1
            Try
                SendMail.bodytxt.Text = SendMail.bodytxt.Text + vbTab + dg2.Rows(i).Cells(j).Value.ToString() + vbTab
            Catch ex As Exception
            End Try
            SendMail.bodytxt.Text = SendMail.bodytxt.Text + vbLf
            SendMail.bodytxt.Text = SendMail.bodytxt.Text + "--------------------------------------------" + vbLf
            SendMail.bodytxt.Text = SendMail.bodytxt.Text + vbLf
        Next
    Next

结果如下:

 --------------------------------------------

 88795446   
 --------------------------------------------

 Mr.    
 --------------------------------------------

 Raiyan 
 --------------------------------------------

 rashid 
 --------------------------------------------

 Male   
 --------------------------------------------

我希望你看到问题是什么..每个单元格的值都被添加到一个新行中。如何生成这样的视图:

 HEADER TEXT        HEADER TEXT      HEADER TEXT
 ------------------------------------------------
  Mr.               ABC               0123456789
 ------------------------------------------------
  Mr.               DEF               987654321
 ------------------------------------------------
  Mr.               GHI               898989898

我的意思是一行的所有单元格值都在一行...下一行将填充短划线.....然后下一行将包含下一行的单元格值....

我知道我的代码是正确的,但也许我有一些"安排代码"问题......或者是因为我的文本框大小问题而发生这种情况?我之所以这么认为是因为当我从包含2/3列的dgvw添加数据时,它按预期工作。那么如何解决它或实现我正在寻找的外观?

2 个答案:

答案 0 :(得分:0)

正如您所提到的,当您从具有几列的数据网格视图向富文本框添加数据时...然后您可以根据需要获得结果。那么为什么不设置Rich-text-box的WordWarp属性property为true然后添加数据。然后我猜一排的细胞'价值不会转到下一行,也许你可以生成你想要的外观。

答案 1 :(得分:0)

也许这会有所帮助

 SendMail.bodytxt.Text = SendMail.bodytxt.Text + "------------------------------------------------------------------------------------------" + vbLf
            For i As Integer = 0 To dg2.Rows.Count - 1

                For j As Integer = 0 To dg2.Columns.Count - 1
                    Try
                        SendMail.bodytxt.Text = SendMail.bodytxt.Text + "• " + dg2.Rows(i).Cells(j).Value.ToString() + " •"
                    Catch ex As Exception
                    End Try
                Next
                SendMail.bodytxt.Text = SendMail.bodytxt.Text + vbLf
                SendMail.bodytxt.Text = SendMail.bodytxt.Text + "------------------------------------------------------------------------------------------" + vbLf
            Next

这甚至可以让你看起来更好。你必须根据需要添加尽可能多的" - "(破折号)。让我知道它是否有用