C#Winform从MySQL数据库检索格式化文本到Richtextbox

时间:2017-03-13 05:27:49

标签: c# mysql winforms datagridview richtextbox

我正在尝试从datagridview中检索选定的行数据并将其显示在RichTextBox中。

没有错误消息。看来,当我点击一行时,它只会显示标题和它的ID等数据,而不会显示RichTextBox中的内容。

以下是一些截图和我使用的代码。

以下是代码:

if (e.RowIndex >= 0)
        {

            string rtfText = this.rtxtinccon.Rtf.Replace(@"\", @"\\");
            btnPost.Enabled = true;
            DataGridViewRow row = this.dtvlist.Rows[e.RowIndex];

            #region strings

            lblincid.Text = row.Cells["IID"].Value.ToString();
            cbeid.Text = row.Cells["EID"].Value.ToString();
            txttitle.Text = row.Cells["Title"].Value.ToString();
            rtfText = row.Cells["Description"].Value.ToString();

            #endregion

        }

这是运行时

Image of the app

我使用LONGTEXT utf8mb4_unicode_ci作为数据类型。

希望你能帮助我。我已经搜索了所有可能的答案,但没有找到任何解决方案。

3 个答案:

答案 0 :(得分:1)

使用:

 RichTextBox1.Text = row.Cells["Description"].Value.ToString();

答案 1 :(得分:1)

在您的代码中,您只是将RichTextBox中的内容作为字符串获取并在该字符串中进行了更改。由于字符串本身是不可变的,因此您的更改不会反映在RichTextBox中。因此,您需要再次将内容分配给RichTextBox控件。

您需要以下列方式将文本设置为RtfTextBox控件:

this.rtxtinccon.Rtf = row.Cells["Description"].Value.ToString();

答案 2 :(得分:1)

您的内容不是yarn install格式。例如,在Rtf

之前添加此代码
#endregion

参考:RichTextBox.Rtf Property

  

备注:您可以使用此属性将RTF格式的文本放入   用于显示的控件或用于提取控件的文本   指定的RTF格式在控件的文本中定义。这个   通常在从中分配RTF文本时使用属性   另一个RTF源,如Microsoft Word或Windows WordPad,到   控制。如果在运行时更改RightToLeft属性,则仅为raw   保留没有格式化的文本。对于RTF代码,请参阅" rich   文本格式(RTF)规范,版本1.6"在MSDN库中。