We are using xamDataGrid 16.2 with service release 20162.2109 on laptops that have touch screens.
When the Windows 10 'Touch Keyboard and Handwriting Panel Service' is enabled; the filtering of a grid with 1500 or more records comes to a grinding halt.
Disabling the service fixes the problem, however, management would still like the on screen keyboard enabled which is part of the same service.
We believe the handwriting portion of the service in questions is causing the issue in the Infragistics grid.
Is there a fix for the xamDataGrid concerning this issue?
Thanks in advance,
Kenn
Hello Kenn,
Thank you for contacting Infragistics. I have not noticed any behavior, when testing our Enabling Record Filtering WPF sample in the Samples Browser while the "on-screen keyboard" for Windows 10 is open.
I am going to begin building a sample to try and reproduce this behavior. Please clarify which filtering UI type you have noticed the issue. (eg. FilterRecord, LabelIcons)
I will follow up tomorrow regarding my progress on the sample. If you happen to have the issue isolated already or would like to provide a sample to expedite this investigation I'd greatly appreciate it.
Let me know if you have any questions.
These are the settings we use in the grid:
<igDP:FieldLayoutSettings x:Key="MultiSelectGridFieldLayoutSettings"
AllowAddNew="False"
AllowDelete="False"
AutoGenerateFields="False"
FilterUIType="FilterRecord"
RecordSelectorLocation="None"
HighlightAlternateRecords="True"
HighlightPrimaryField="SameAsOtherFields"
AllowFieldMoving="WithinLogicalRow"
SelectionTypeRecord="Extended"
/>
<!--Supports the Infragistics Grid customization-->
<igDP:FieldSettings x:Key="STDFieldSettings"
AllowEdit="False"
AllowFixing="NearOrFar"
AllowGroupBy="False"
AllowRecordFiltering="True"
CellClickAction="SelectRecord"
CellMinWidth="55"
CellMinHeight="23"
FilterOperandUIType="TextBox"
FilterEvaluationTrigger="OnCellValueChange"
FilterOperatorDefaultValue="Contains"
DataValueChangedNotificationsActive="True"
DataValueChangedHistoryLimit="1"
The error does not manifest on Desktops without touch screens, laptops with Touch Screens suffer badly.
We do not see the issue until there are 1000 or more records in the grid. The keyboard does not need to be displayed, just the previously mentioned Windows service.
Regards,
Thank you for following up and providing your XAML-related code for the XamDataGrid. I've built a sample, see attached below, but I did not experience any issues.
Note, I am using a Lenovo Laptop with Windows 10. Please review my sample and let me know if the behavior persists or have any questions.
Sincerely,
Michael Di FilippoAssociate Software DeveloperInfragistics, Inc.www.infragistics.com/support
Thank you so much for the quick response.
Your demo works perfectly on my touch screen laptop.
However, I was able to reproduce the issue with your demo by:
1. Adding 6 more columns of strings
2. Randomizing some string data
3. Defining the columns of the grid in XAML instead of binding the entire view model directly (not available in our situation)
4. Setting the Width="Auto" on the string column causes the extreme slowdown
Unfortunately, our users specified that they wished the columns to be auto sized. We experimented with setting the grid properties to various column sizing strategies that the XamDataGrid supports and this answer was the most performant at the time. Now with the advent of Windows 10 and touch screens may have to revisit the sizing issues.
Thank you for following up and providing more details. I modified my sample, but unfortunately I am unable to see much of a difference with my laptop. Please run my sample attached, below, that includes the additional requirements you listed previously to ensure that I am following your steps.
also, I recommend limiting the auto-sizing to only what is currently in view. Let me know if that helps.
<igDP:TextField.Settings><igDP:FieldSettings AutoSizeScope="RecordsInView" AutoSizeOptions="All" /></igDP:TextField.Settings>
Michael,
After close examination; we found the differences between our code bases.
We are using Field and you are using TextField. When I altered your original project I added Fields, that caused the program to slow significantly.
I believe the problem lies there. We can change our code to use TextField instead of field and retest all the affected applications.
Thanks for your assistance.
Thank you for following up. I am glad I was able to assist. Let me know if you have any additional questions or concerns.