Description
The Select Distinct functionality does not work correctly in web if the table has more than one column.
Steps to reproduce
- Create a table with more than one column, e.g.:
from deephaven import empty_table
t = empty_table(50).update(["x=i%5", "y=(i*i)%5"])
- In the Select Distinct Values option in the side bar, select a column
Expected results
2. Table should update to show the distinct values
Actual results
2. An error is shown in place of the table.
Additional details and attachments
The issue appears to be with the columns changing on the underlying model, but the grid metrics are still reporting there are more visible columns. The error that throws is at:
|
const column = model.columns[modelColumn]; |
But it's slightly problematic that the visible/modelColumns provided in the metrics are out of sync with the model.

caught TypeError: Cannot read properties of undefined (reading 'name')
at IrisGrid.render (IrisGrid.tsx:4190:73)
at finishClassComponent (react-dom.development.js:17485:31)
at updateClassComponent (react-dom.development.js:17435:24)
at beginWork (react-dom.development.js:19073:16)
at HTMLUnknownElement.callCallback2 (react-dom.development.js:3945:14)
at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:16)
at invokeGuardedCallback (react-dom.development.js:4056:31)
at beginWork$1 (react-dom.development.js:23964:7)
at performUnitOfWork (react-dom.development.js:22776:12)
at workLoopSync (react-dom.development.js:22707:5)
at renderRootSync (react-dom.development.js:22670:7)
at performSyncWorkOnRoot (react-dom.development.js:22293:18)
at react-dom.development.js:11327:26
at unstable_runWithPriority (scheduler.development.js:468:12)
at runWithPriority$1 (react-dom.development.js:11276:10)
at flushSyncCallbackQueueImpl (react-dom.development.js:11322:9)
at flushSyncCallbackQueue (react-dom.development.js:11309:3)
at batchedUpdates$1 (react-dom.development.js:22387:7)
at Object.notify2 [as notify] (Subscription.js:15:7)
at Object.notifyNestedSubs (Subscription.js:85:15)
at handleChangeWrapper (Subscription.js:90:20)
at Object.dispatch (redux.js:297:7)
at e (<anonymous>:1:38904)
at index.js:20:16
at crashReporter.ts:8:12
at logger.ts:8:18
at dispatch (redux.js:691:28)
at actions.ts:39:3
at index.js:16:18
at crashReporter.ts:8:12
at Object.dispatch (logger.ts:8:18)
at dispatch (<anonymous>:1:55424)
at FilterPlugin.tsx:88:5
at Object.<anonymous> (FilterPlugin.tsx:102:7)
at EventHub.emit (EventEmitter.ts:68:20)
at IrisGridPanel.sendColumnsChange (IrisGridPanel.tsx:823:16)
at IrisGridPanel.handleColumnsChanged (IrisGridPanel.tsx:673:12)
at invokeCallback (listener.ts:135:22)
at IrisGridProxyModel.dispatchEvent (event-target.ts:260:17)
at IrisGridProxyModel.setModel (IrisGridProxyModel.ts:126:10)
at IrisGridProxyModel.ts:159:14
r
Versions
Engine Version: 0.25.0
Web UI Version: 0.38.0
Java Version: 11.0.18
Barrage Version: 0.5.0
Description
The Select Distinct functionality does not work correctly in web if the table has more than one column.
Steps to reproduce
Expected results
2. Table should update to show the distinct values
Actual results
2. An error is shown in place of the table.
Additional details and attachments
The issue appears to be with the columns changing on the underlying model, but the grid metrics are still reporting there are more visible columns. The error that throws is at:
web-client-ui/packages/iris-grid/src/IrisGrid.tsx
Line 4207 in 588cb8f
But it's slightly problematic that the visible/modelColumns provided in the metrics are out of sync with the model.
Versions
Engine Version: 0.25.0
Web UI Version: 0.38.0
Java Version: 11.0.18
Barrage Version: 0.5.0