Hi,
I entered some unicode character(ex:0xE020,utf-16) in the cell of the ultragrid. When I moved to the next cell, the previous cell show some messy code(square box).
How can I fix this?
It seemed that the cell of grid use a different control when It entered edit mode. It displayed the correct character in edit mode.
I found that UltraLabel and UltraTextEditor have the same problem while the System.Windows.Forms.TextBox works fine.
My version is 2009.2.
Thanks in advance.
I found an article related to this and it looks like some fonts on some operating systems do not fully support the extended unicode character set.
Our controls use GDI+ by default, but you can switch them over to GDI (I think the property name is TextRenderingMode). GDI might support this, but in any case, this is not an issue with our controls, it is a limitation of GDI+.
I just ran into this issue as well. I think calling it not an issue with your controls is a cop out. The default configuration for your UltraLabel doesn't support unicode. That's a bug, a major bug. If it requires the rendering to be GDI instead of GDI plus, that should be the default. As it is, when I drop your control on a form, I get this designer code (in VS 2005):
this.mLabel.AutoSize = true;
this.mLabel.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.mLabel.Location = new System.Drawing.Point(8, 5);
this.mLabel.Name = "mLabel";
this.mLabel.Size = new System.Drawing.Size(315, 31);
this.mCopyrightLabel.TabIndex = 8;
this.mLabel.Text = "Copyright © 2011. All rights reserved.";
Unfortunately, we cannot change the default text rendering of all of our controls, as this would be a major breaking change to every application using them.