While editing a cell, I experienced a funny problem using the second language installed in the system. Under w2k, no problem at all. Under w98 the entering letters appear garbled, just as if the necessary font were not installed, which is not the case. And anyway, the column headers are nice, as well as any line which got into the cell from the data source. I hope, there is some explanation to this behavior.
Grateful in advance, Alexey
ADAdministrator Syncfusion Team August 11, 2003 02:03 AM
If you drop a System.Windows.Forms.RichTextBox, System.Windows.Forms.TextBox and a System.Windows.Forms.DataGrid on a form, and try the same second language for these controls on your Win98 system, do you see the problem with any of them?
ADAdministrator Syncfusion Team August 11, 2003 04:10 AM
No, the only way to get the undesirable result is to actually edit the cell. I even put both GridDataBoundGrid and DataGrid onto the same data view for a data source, and whatever I entered in the corresponding DataGrid cell was reflected correctly in the GridDataBoundGrid cell.
ADAdministrator Syncfusion Team August 11, 2003 05:04 AM
Exactly what do you mean by "using the second language installed in the Win98 system". Do you mean going to the Settings|Control Panel and changing the Regional Settings, or something else? I tried changing regional settings, but that did not seem to cause any problems like this.
What languages are you trying?
ADAdministrator Syncfusion Team August 11, 2003 05:31 AM
Yes, it is regional settings, etc. The system was configured from the moment of its installation to use the English and the Russian languages alongside. It is a well trodden route and all else is functioning properly.
ADAdministrator Syncfusion Team August 11, 2003 07:08 AM
Are you using special fonts?
I don't see the problem when I build the attached project and move the exe and the grid and shared dlls on a win98 system where Russion is set as the Language Preference using the Control Panel Regional Settings? Do you see the problem with this sample?
ADAdministrator Syncfusion Team August 11, 2003 10:31 PM
I pinned down the problem. It is not just any cell. It is just combo box cell plus w98. You can try my attachment. You may experience problems as the new sample has been upgraded to VS2003, but actually the original sample is good enough: try to enter any Russian letters into any combo box.
Of course, one can change type to String, stack the combo box with values (strings in Russian, which will show correctly), but the initial problem persists.
Best regards, Alexey
PS Sorry, have some trouble uploading the modified sample. But it is not absolutely necessary
ADAdministrator Syncfusion Team August 12, 2003 02:49 AM
Sorry to be a pain, but how do I enter Russian characters into the comboboxes?
I have a US keyboard and have set the Regional Settings to Russian on a Win98 system. I am using the sample I posted above with the two columns of comboboxes.
ADAdministrator Syncfusion Team August 12, 2003 03:07 AM
This is easy. In control panel/keyboard properties/input locale add Russian Input Language. The default keyboard layout will do. Then it will be really hard to miss a Russian character on a US keyboard, provided you don't forget to change the input language (it is very convenient to keep the indicator in the taskbar tray). As a matter of fact, the only key in the main three rows of keys which is not a Russian character is the bottom right one (?/).
Best regards, Alexey
ADAdministrator Syncfusion Team August 12, 2003 07:51 AM
We do see the problem. The code being used to handle the input does not handle the DBCS required for Win98 support. We will try to get this corrected.
ADAdministrator Syncfusion Team August 12, 2003 09:18 PM
Any ideas about a workaround?
ADAdministrator Syncfusion Team August 13, 2003 01:33 AM
Short of going into our source and correcting the problem, I do not have a general work-around.
If you make the DropDownStyle = GridDropDownStyle.Exclusive, then the user only selects by clicking the list, you can avoid the problem. But this may not be an option.
If you only have 1 or 2 comboboxes, you could just use a System.Windows.Forms.ComboBox with the CellType = "Control". (You have to have a combobox for each cell, and set the properties through the combobox itself). This probably would avoid the problem, but is not feasible for many comboboxes, especially if they all have different lists.
ADAdministrator Syncfusion Team August 13, 2003 04:05 AM
As I was looking at trying some work arounds, it appears that displaying from a fixed list is the only thing that is working on 98. If I drop a System.Windows.Forms.TextBox and a System.Windows.Forms.ComboBox onto a form, they show the same problem. They do not accept typed Russian characters either.
The only reason it works for non-combobox cells is the cell control for those cells is derived from RichTextBox. RichTextBox do display the Russian characters as they are typed.
ADAdministrator Syncfusion Team August 13, 2003 04:41 AM
Attached is a derived combobox cell that will let you type Russian. It does so by just passing the KeyPresses to the embedded RichText cell without trying to do any auto-complete work. It has a little test to decide whether you are on Win98 or not, and bypasses the autocomplete if on Win98. You could probably test the keyboard input, and only bypass the autocomplete for Russian on Win98 if you wanted to.
ADAdministrator Syncfusion Team August 14, 2003 12:05 AM
Thank you very much. The only trouble is that the sample won't build, perhaps because of the convertion to VS2003.
protected override System.Windows.Forms.TextBoxBase CreateTextBox()
E:\My\Projects\C#\Forum_6360\MyComboBoxCell.cs(47,55): error CS0508: 'Forum_6360.MyComboBoxCellRenderer.CreateTextBox()': cannot change return type when overriding inherited member 'Syncfusion.Windows.Forms.Grid.GridDropDownCellRenderer.CreateTextBox()'
d:\Program Files\Syncfusion\Essential Suite\Assemblies\Syncfusion.Grid.dll: (Related file)
Best regards, Alexey
ADAdministrator Syncfusion Team August 14, 2003 12:25 AM
What version of our libraries are you using? I can compile the sample under VS2003 using our 126.96.36.199 code base.
ADAdministrator Syncfusion Team August 14, 2003 02:03 AM
I am using 188.8.131.52, but don't bother; I have managed the problem.
Thanks again, Alexey
ADAdministrator Syncfusion Team August 14, 2003 02:55 AM
I have built your sample all right, but with GridDataBoundGrid there is a problem: no CellModels property. What am I supposed to do?
Best regards, Alexey
ADAdministrator Syncfusion Team August 14, 2003 08:23 AM
In a GridDataBoundGrid, use gridDataBoundGrid1.Model.CellModels.