Opened 11 years ago

Closed 7 years ago

#7492 closed enhancement (invalid)

When to select and when to edit

Reported by: David Schwartz Owned by: David Schwartz
Priority: high Milestone: future
Component: DojoX Grid Version: 1.1.1
Keywords: ibm Grid InlineEditBox select edit Cc:
Blocked By: Blocking:

Description

When editable fields are included in a Grid, the user needs a method to be able to select a row directly (see ticket #7485) as well as edit a field contained within a Grid cell. When clicking on a InlineEditBox? within a Grid row with direct selection, the first click should merely select the row and the subsequent click should place the field into edit mode. Note that this is different from double-clicking on the row which should execute the default action against the row.

Microsoft Excel incorporates the proper behavior.

Change History (13)

comment:1 Changed 11 years ago by David Schwartz

Correction: The second click in Excel does NOT place the cell in edit mode (it should).

comment:2 Changed 11 years ago by bill

Component: Dijit - LnFDojoX Grid
Owner: set to Bryan Forbes

Actually it's not "InlineEditBox", that's not used in the grid (although the grid has identical functionality). Just say "editable cell" or something like that.

comment:3 Changed 11 years ago by Bryan Forbes

Milestone: tbd1.2

comment:4 Changed 11 years ago by haavikko

Some questions about the terminology.

In Excel the row selection (as I understand it) is done by clicking row headers on the left edge of the sheet. In order to type in data, user clicks on a cell (or navigates to the cell with arrow keys) and just starts typing. This, I think, would be very useful model for Dojo grid also.

For many applications, row selection is a secondary use case compared to data entry. Users do not think in terms of "first I select a row, then I edit some values in that row". Web applications should be designed with the same level of usability as their desktop counterparts. I would very much prefer the "spreadsheet-like" focus model, where the user can edit the contents of an editable cell immediately after navigating into the cell.

Additional question regarding double-clicking: Do I understand correctly that if user wants to change value in a cell, neither single- or double- clicking allows user to start editing? (single click selects row; double click executes "default action against the row" whatever that is) Instead users need to be taught this procedure: "first click on a row; then wait a bit so that you don't accidentally double-click; then click on a cell and edit the cell contents"? This sounds bad usability-wise.

I understand that there's a need to support various kinds of complex editors in grid cells, and it causes problems. But by far the most common use case is entering numbers and short one-line strings. This use case should be as streamlined as possible from usability point of view.

comment:5 Changed 11 years ago by David Schwartz

The grid will doubtlessly find its way into any number of different application contexts. Some, as you suggest, will rely on row headings to select rows and involve cell editing as a common user action. Grid certainly should support this use as you describe.

But many, many applications will not deploy grid this way. Rather than a spreadsheet model, they will use the grid as a type of vertically oriented list where each row corresponds to an object and columns to object attributes. The user in these situations will regularly select rows to act upon the objects but will also want to edit the object attributes directly in the table, if allowed. It's this last case that I'm addressing. In such scenarios, double-clicking will take the default action against the object (very often 'Open'). This will be an over-learned user behavior in these application contexts and I don't believe users will attempt to use double-click to move a cell into edit mode in these circumstances.

The 'two-click' approach is currently used by Windows to move desktop object names into edit mode (Microsoft's OS and apps are inconsistent on this point). It's not ideal but, given the circumstances I've described, it's the best we've got.

Bottom-line: Grid will ideally support both of these uses well.

comment:6 Changed 11 years ago by bill

Milestone: 1.21.3

comment:7 Changed 11 years ago by Becky Gibson

Just to add a bit more confusion what about editing and selecting via the keyboard? That needs to be supported as well.

comment:8 Changed 11 years ago by David Schwartz

When a row is selected:

  • ENTER applies the default action, e.g., Open
  • the effect of SPACE will depend on the selection model, e.g., it will toggle the row's selection state under multiple selection.

Otherwise, see http://bugs.dojotoolkit.org/ticket/7486 re keyboard issues.

comment:9 Changed 10 years ago by haavikko

Good. All those of data entry Excel sheets in the offices around the world - they all want to be Dojo grids ;-)

comment:10 Changed 10 years ago by Bryan Forbes

Milestone: 1.31.4

comment:11 Changed 10 years ago by Nathan Toone

Milestone: 1.4future
Type: defectenhancement

Pushing to future - as this is not a regression that needs to be fixed for 1.4. It is an enhancement as well.

comment:12 Changed 7 years ago by Bryan Forbes

Owner: changed from Bryan Forbes to David Schwartz
Status: newpending

Does this still need to be addressed with dgrid and gridx work being done?

comment:13 Changed 7 years ago by trac-o-bot

Resolution: invalid
Status: pendingclosed

Because we get so many tickets, we often need to return them to the initial reporter for more information. If that person does not reply within 14 days, the ticket will automatically be closed, and that has happened in this case. If you still are interested in pursuing this issue, feel free to add a comment with the requested information and we will be happy to reopen the ticket if it is still valid. Thanks!

Note: See TracTickets for help on using tickets.