【问题标题】:Table in richtextbox富文本框中的表格
【发布时间】:2017-11-18 23:49:04
【问题描述】:

在我之前的问题中,我发布了一个在富文本框中添加表格的代码(实际上不是,只是将数据添加到来自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 添加数据时,它按预期工作。那么如何修复它或实现我正在寻找的外观?

【问题讨论】:

    标签: vb.net richtextbox


    【解决方案1】:

    也许这会有所帮助

     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
    

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

    【讨论】:

    • 天啊!你已经两次拯救了我的一天!!!是的,它有效....添加“•”是个好主意...!!!!
    【解决方案2】:

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

    【讨论】:

    • 其实我只是个初学者,请见谅
    猜你喜欢
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多