Hello Sazna,
You have to assign the resulting string back to the DescriptionText view. This is missing in your actual implementation. From your example I have understood, that you only want to prefix the existing content instead of replacing it. In such case following could be helpful:
rowString = DiscriptionText.GetRowString( i );
if (rowString.find( "•", 0 ) < 0)
{
var int32 start = DiscriptionText.RowCol2StringIndex( point( 0, i ));
DiscriptionText.String = DiscriptionText.String.insert( " ", start );
}
However, the above solution is unnecessary complicated for your application case. It has also the disadvantage of each modification causing the view to update its layout. In worst case, after you have modified a text row, the layout of following rows may change. This also may affect the number of rows.
From your description I have understood that you want to prefix the bullet points only. In such case I see other approach: Preprocess the original string before it is assigned to the view so that every bullet point sign is prefixed with the desired sequence of white space characters.
I would also recommend other approach using the Attributed Text view. This view is ideal to display structured text. In your case you can consider each text fragment starting with a bullet point as a 'paragraph'. With Attributed Text view you can configure the margins of each paragraph. See also the section Configure paragraph margins.
I hope it helps you further.
Best regards
Paul Banach