Completed
Last Updated: 21 Nov 2014 16:58 by ADMIN
ADMIN
Georgi I. Georgiev
Created on: 26 Jun 2013 10:25
Category:
Type: Bug Report
2
FIX. RadRichTextBox - the Selection.SelectAll() does not select whole document
Description: After the insert, the first word always disappears. 
To reproduce use this code:
private void radButton1_Click(object sender, EventArgs e)
{
    radRichTextBox1.Document.Selection.Clear();
    radRichTextBox1.Document.CaretPosition.MoveToFirstPositionInDocument();

    DocumentPosition startPosition = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
    radRichTextBox1.Document.Selection.AddSelectionStart(startPosition);

    DocumentTextSearch search = new DocumentTextSearch(radRichTextBox1.Document);
    DocumentPosition endPosition = new DocumentPosition(search.Find("Anders").StartPosition);
    radRichTextBox1.Document.Selection.AddSelectionEnd(endPosition);

    RadDocument doc = new RadDocument();
    doc = radRichTextBox1.Document;
    TxtFormatProvider txtFormatProvider = new TxtFormatProvider();
    string txt = txtFormatProvider.Export(doc);

    RadDocument docFrag = new RadDocument();
    docFrag = txtFormatProvider.Import(txt);
    docFrag.Selection.SelectAll();

    radRichTextBox2.Document.InsertFragment(docFrag.Selection.CopySelectedDocumentElements());
}

with this text
"Hey

Here is some text and it seems like hey is removed.

Anders"

Workaround:
private void radButton1_Click(object sender, EventArgs e)
        {
            radRichTextBox1.Document.Selection.Clear();
            radRichTextBox1.Document.CaretPosition.MoveToFirstPositionInDocument();

            DocumentPosition startPosition = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
            radRichTextBox1.Document.Selection.AddSelectionStart(startPosition);

            DocumentTextSearch search = new DocumentTextSearch(radRichTextBox1.Document);
            DocumentPosition endPosition = new DocumentPosition(search.Find("Anders").StartPosition);
            radRichTextBox1.Document.Selection.AddSelectionEnd(endPosition);

            RadDocument doc = radRichTextBox1.Document;
            TxtFormatProvider txtFormatProvider = new TxtFormatProvider();
            string txt = txtFormatProvider.Export(doc);

            RadDocument docFrag = new RadDocument();
            docFrag = txtFormatProvider.Import(txt);
            
            //docFrag.Selection.SelectAll();

            DocumentPosition startPosition1 = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
            startPosition1.MoveToFirstPositionInDocument();
            docFrag.Selection.AddSelectionStart(startPosition1);

            DocumentPosition endPosition1 = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
            endPosition1.MoveToLastPositionInDocument();
            docFrag.Selection.AddSelectionEnd(endPosition1);
            
            radRichTextBox2.Document.InsertFragment(docFrag.Selection.CopySelectedDocumentElements());
        }


Resolution: 
This issue is addressed in the new version of the control - RadRichTextEditor. Please use the new control instead the RadRichTextBox. 
0 comments