簡體   English   中英

使用Rtf在Richtextbox中創建表

[英]Creating a table in a Richtextbox using Rtf

我整天都在忙這個。 我想在Richtextbox中有一個包含這些列的表:

ITEMS                  |   QTY  |  Amount  |    
Sample 1               |    1   |  100.00  |
Another Sample Here    |    3   |  300.00  |
And A Sample Here      |    4   |  400.00  |

我已經到了這一點

var tableRtf = new StringBuilder();

        tableRtf.Append(@"{\rtf1 ");
        tableRtf.Append(@"{\rtf1\pc \qc \b SOME NAME \b0 \par}");
        tableRtf.Append(@"{\rtf1\pc \qc SOME TYPE \par}");
        tableRtf.Append(@"{\rtf1\pc \qc SOMEWHERE IN THE CITY, SOMETHING ADDRESS, SOMETHING CITY \par}");
        tableRtf.Append(@"{\rtf1\pc \qc TEL. NUM. 1234567 \par}");
        tableRtf.Append(@"{\rtf1\pc \qc VAT-REG TIN 200-035-311-0010 \par}");
        tableRtf.Append(@"{\rtf1\pc \par}");

        for (var i = 0; i < listOrderedItems.Items.Count; i++)
            {
                var x = listOrderedItems.Items[i].Text;
                var y = listOrderedItems.Items[i].SubItems[3].Text;
                var q = listOrderedItems.Items[i].SubItems[2].Text;

                tableRtf.Append(@"\trowd");

                //A cell with width 4000.
                tableRtf.Append(@"\cellx4000");
                //Another cell with width 1000
                tableRtf.Append(@"\cellx5000");
                //Another cell with width 1000
                tableRtf.Append(@"\cellx6000");

                tableRtf.Append(String.Format(@"\intbl {0} \cell {1} \cell {2} \cell \row",x,q,y)); //create row

            }

            tableRtf.Append(@"\pard");

            tableRtf.Append(@"}");

            this.txtReceipt.Rtf = tableRtf.ToString(); 

如何放置列標題,如何僅在第二列和第三列中居中放置文本? 非常感謝您的幫助。

可以直接對列標題進行硬編碼,也可以將列標題和數據從DataTable插入RichTextBox控件中創建的表中。

例如: dtbl是一個數據表,我們可以將其轉移到richtextbox表中。 tableRtf是文本字符串。

 for (int i = 0; i <dtbl.Columns.Count; j++)
 {
     //A cell with width 1000. 
     tableRtf.Append(@"\cellx" + ((i+1) * 1000).ToString());

     if (i == 0)
     tableRtf.Append(@"\intbl  " + dtbl.Columns[i].ColumnName);
     else
     tableRtf.Append(@"\cell   " + dtbl.Columns[i].ColumnName);
  }

有關更多詳細信息,請查看鏈接, 向創建的表Richtextbox添加文本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM