Table 在富文本框中

Table in richtextbox

在我之前的问题中,我发布了一个代码,在富文本框中添加了一个 table(实际上不是,只是将数据添加到来自 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

我的意思是一行的所有单元格值都在一行中......下一行将用破折号填充......然后下一行将包含下一行的单元格值......

我知道我的代码是正确的,但也许我遇到了一些 "ARRANGING THE CODE" 问题...或者这是因为我的富文本框大小?我这么想的原因是因为当我从包含 2/3 列的 dgvw 添加数据时,它按预期工作。那么如何修复它或实现我正在寻找的外观?

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

也许这会有所帮助

 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

这甚至可能会给你一个更好的 look.You 必须添加尽可能多的“-”(破折号)need.Let 我知道它是否有效