Hi Clay,
Please answer to the below question.
1. We have description field in the grid
which uses, RichText box. For each row, there will be drop down list arrow.
But I do not want to display for each row down list arrow.
My requirement is I need to showup the RichText Box as soon as a single character is typed into a description field, or when the edit function key is pressed i.e. Press F3).
2. How do we change the key in the richtext box.
Example. currently the key is used to
allow a description to go to acorss multiple
lines.
But we’d prefer that the key close
richtext box instead of clicking on ''OK''
button.
Where a description should be broken up over
more than one line, we could allow a
different keystroke as etc.
How do we implement this?
Thanks
Satish
AD
Administrator
Syncfusion Team
June 10, 2004 07:58 AM UTC
Here is a KB that has code for a in-place editable richtext cell. Maybe this will serve your needs better than the cell that requires the dropdown.
http://www.syncfusion.com/Support/article.aspx?id=10495
SA
Satish
June 10, 2004 08:41 AM UTC
Hi Clay,
This is simply great. thanks sending me the link.
But this is unable to run in my machine.
Please find the attached error.
Thanks
Satish
>Here is a KB that has code for a in-place editable richtext cell. Maybe this will serve your needs better than the cell that requires the dropdown.
>
>http://www.syncfusion.com/Support/article.aspx?id=10495
RichTextError_1921.zip
SA
Satish
June 10, 2004 08:56 AM UTC
Hi Clay,
I could able to solve previous problem.
I ran into another problem.
Please find the attached one.
Why all the richtext is showing exception???
I cannot use the arrow keys to move around the text?
Thanks
Satish
>Hi Clay,
>This is simply great. thanks sending me the link.
>But this is unable to run in my machine.
>Please find the attached error.
>Thanks
>Satish
>
>
>
>>Here is a KB that has code for a in-place editable richtext cell. Maybe this will serve your needs better than the cell that requires the dropdown.
>>
>>http://www.syncfusion.com/Support/article.aspx?id=10495
>
>
RichTextError_1921.zip
>
>
ExceptionError_2158.zip
AD
Administrator
Syncfusion Team
June 10, 2004 09:06 AM UTC
Did you make any changes to th esample? What version of the our libraries are you using?
The sample runs fine for me using 2.0.5.1.
The red boxes indicate that an exception is being thrown during the painting of the cell. You should check the richtext that you are trying to display to see if it is valid.
SA
Satish
June 10, 2004 09:15 AM UTC
Hi Clay,
No I didn''t made any changes to the sample application.
I am using 2.0.5.1 with 2003 .net version.
I checked this in two machine, but the results are same.
Please suggest any other alternatives for this.
thanks
Satish
>Did you make any changes to th esample? What version of the our libraries are you using?
>
>The sample runs fine for me using 2.0.5.1.
>
>The red boxes indicate that an exception is being thrown during the painting of the cell. You should check the richtext that you are trying to display to see if it is valid.
AD
Administrator
Syncfusion Team
June 10, 2004 10:59 AM UTC
The sample downloads and runs fine here (on several systems).
What operation system are you using?
SA
Satish
June 11, 2004 01:08 AM UTC
I am using win2K.
Thanks
Satish
>The sample downloads and runs fine here (on several systems).
>
>What operation system are you using?
AD
Administrator
Syncfusion Team
June 11, 2004 05:56 AM UTC
I see the problem on Win2K.
In the renderer class constructor, there is a line:
this.Model.ButtonBarSize = new Size(0,0);
change it to
this.Model.ButtonBarSize = new Size(1,1);
AD
Administrator
Syncfusion Team
June 11, 2004 08:34 AM UTC
To handle the arrow keys within the richtextbox while it is active, you need to add some code to OnKeyDown in the renderer. Here is an updated sample.
RichTextInPlaceCellContol_7936.zip
SA
Satish
June 11, 2004 08:41 AM UTC
Hi Clay,
Thanks for your mail.
Great support and its worked.
Sorry. I have some more requirements like
1. I need to use arrow''s in the richtext box, which is currenlty not possible.
2. When i select something and click on delete, whole content in the richtext box will get deleted. But I need to delete only the text which is selected.
3. I think third question is familiar to you that is the Autosize. I want auto size rather than the scorll bar.
Thanks
Satish
>I see the problem on Win2K.
>
>In the renderer class constructor, there is a line:
>
>this.Model.ButtonBarSize = new Size(0,0);
>
>change it to
>
>this.Model.ButtonBarSize = new Size(1,1);
>
AD
Administrator
Syncfusion Team
June 11, 2004 08:54 AM UTC
Did you try 1 & 2 in the sample I just posted in the thread?.
When the RichText cell is actively being edited 1 & 2 work as expected for me in this sample.
I have no solution for 3.
SA
Satish
June 11, 2004 09:03 AM UTC
Clay,
Too many Thanks. Everythning worked except 3point. I will try or wait for your early respone in near future.
Thanks
Satish
>Did you try 1 & 2 in the sample I just posted in the thread?.
>
>When the RichText cell is actively being edited 1 & 2 work as expected for me in this sample.
>
>I have no solution for 3.
AD
Administrator
Syncfusion Team
June 11, 2004 10:03 AM UTC
There will be no full solution for 3 as the Win32 RichText control does not have any autosizing API''s exposed.
So you will have to implement special solutions based on what you want. Here is one attempt (its not perfect) to allow sizing of richtext using grid.Model.RowHeights.ResizeToFit. It does not try to support colwidth sizing. You would add this override to the cell model class.
private RichTextBox rtb = new RichTextBox();
public override Size CalculatePreferredCellSize(Graphics g, int rowIndex, int colIndex, GridStyleInfo style, GridQueryBounds queryBounds)
{
Size clientSize = base.CalculatePreferredCellSize (g, rowIndex, colIndex, style, queryBounds);
if(style.CellValue != null)
{
rtb.Rtf = style.CellValue.ToString();
int height = 0;
int start = rtb.TextLength;
rtb.SelectionLength = 0;
int line = rtb.GetLineFromCharIndex(start);
while(start >= 0 && line == rtb.GetLineFromCharIndex(start))
{
height = Math.Max(height, rtb.GetPositionFromCharIndex(start).Y);// + rtb.SelectionFont.Height + 1);
start -= 1;
}
clientSize = new Size(clientSize.Width, height);
return clientSize;
}
AD
Administrator
Syncfusion Team
June 11, 2004 10:12 AM UTC
Instead of looping in the above snippet, you can just use the last character.
if(style.CellValue != null)
{
rtb.Rtf = style.CellValue.ToString();
int height = 0;
int start = rtb.TextLength;
height = Math.Max(height, rtb.GetPositionFromCharIndex(start).Y);
clientSize = new Size(clientSize.Width, height);
}
SA
Satish
June 14, 2004 02:18 AM UTC
Hi Clay,
Great Support.
Thanks For all your support.
Thanks
Satish
>Here is a new sample that includes some support for sizing rowheights.
>
>
RichTextInPlaceCellContol_3502.zip
>
>