DataGrid ComboBox column must be clicked 3 times for each ComboBox before the options are expanded. This frustrates users and is perceived by them to be a bad design in our application, and is extremely tedious for large sets of items.
Steps to reproduce the behavior:
The expected behavior in this scenario should be that one click expands the ComboBox, this has been frustrating for many of our users and is perceived by users as a bug. The behavior users unanimously agree is expected is for 1 click to expand each ComboBox.
Windows 10 Build Number:
Device form factor:
Hello bolyb, thank you for opening an issue with us!
I have automatically added a "needs triage" label to help get things started. Our team will analyze and investigate the issue, and escalate it to the relevant team if possible. Other community members may also look into the issue and provide feedback 馃檶
@bolyb Thanks for opening the issue. I am able to reproduce this as well. I am not certain if it was produced like this by design or actually a bug. DataGrid team will be able to provide more insight into this since user experience seems to be the issue here. FYI @anawishnoff @RBrid 猬嗭笍
Also paging @harinikmsft who may know more about the original intentions of this...
@anawishnoff @harinikmsft @RBrid this looks related to how the DataGrid enters edit mode.
In the 'normal' textbox case, you need to click again after a selection occurs to enter edit mode. However, this means that if the row isn't already selected, you effectively have to triple-click to enter edit mode, as there currently needs to be a delay between clicks to enter edit mode otherwise.
Compare:
1) Select a specific cell
2) Pause 1 second
3) Click on that cell again
4) In Edit mode on that cell
to
1) Select a cell
2) Double-Click on another cell
3) (nothing happens)
to
1) Select a cell
2) Triple-Click on another cell
3) In Edit mode on that cell
However, with the combobox column, moving to 'In Edit Mode' means that the ComboBox appears, but doesn't open, which adds an additional click to the scenarios above.
I think a partial solution to this specific issue of an additional click with ComboBox, would be that when a ComboBox enters edit mode, it should also open the ComboBox.
I would suggest, anything beyond that for fixing how entering Edit Mode works in general, should probably be done as part of the planning/design for the new WinUI version of the control.
Thoughts?
@michael-hawker That sounds reasonable to me, but I just want to clarify: if the ComboBox is meant to be edited with text input, then does the triple click work to start editing it? If you want to change the combo box by selecting a value from the drop-down, does double clicking then clicking the arrow work to open it but not edit the text via keyboard input?
@anawishnoff in the default case, the combobox isn't text-editable, only a drop-down (the datagrid's combobox doesn't support the combobox's IsEditable property).
So, you need some either three clicks in Click-Wait-Double-Click or Quadruple-Click to get to the open drop-down from an unselected row, plus there's a 5th click involved to dismiss the fly-out if it's open... Open up the DataGrid sample (uwpct://Controls?sample=DataGrid) in the toolkit app and it's pretty easy to see how frustrating this is.
@michael-hawker Ah, i see now. Yes, definitely frustrating and I agree that the edit mode on Combo Box should open the drop-down menu as well.
As for an updated DataGrid, I think a good solution would be to enable edit mode upon double-click. You can still select a row with a single click, or pause and then click again to edit. I'm wondering why this isn't the case currently. Might you be able to shed some light on this?
@anawishnoff I think it is, but the problem is that if the row isn't selected, the first click is being eaten by the selection event. So, maybe that's another bug, is that selection shouldn't eat the event, so if you click once, it's selected that's fine, but then a double-click would still select+enter edit mode.
Is there a work-around for this? I ended up using a combobox within a template column (the ItemSource binding is not working for the combobox column and I haven't had time to create an issue for that yet), but I'm experiencing the same issue.