Hi Jmix Team ,
I encountered an weird issue in data grid. It is using column renderer to show the test field in each column .below is sample:

After typing in the text field. and we are going to move the cursor to next text field / next column. The cursor in the text field will return to the text field in the first column. The cursor supposedly in the second column. It requires second clicks , it only the cursor point to the second column , but when I click on a different row, it works with 1 click.

@Supply(to = "do08incExpsTable.num1", subject = "renderer")
private Renderer<Do08incExp> do08incExpsTableNum1Renderer() {
return new ComponentRenderer<>(this::do08incExpsTableNum1ColumnGenerator);
}
private Component do08incExpsTableNum1ColumnGenerator(Do08incExp do08incExp) {
TypedTextField<BigDecimal> textField = uiComponents.create(TypedTextField.class);
textField.setDatatype(datatypeRegistry.get(BigDecimal.class));
// Manual value binding
textField.setTypedValue(do08incExp.getNum1());
textField.addTypedValueChangeListener(e -> {
if (e.isFromClient()) {
do08incExp.setNum1(e.getValue());
}
});
return textField;
}
@Supply(to = "do08incExpsTable.num2", subject = "renderer")
private Renderer<Do08incExp> do08incExpsTableNum2Renderer() {
return new ComponentRenderer<>(this::do08incExpsTableNum2ColumnGenerator);
}
private Component do08incExpsTableNum2ColumnGenerator(Do08incExp do08incExp) {
TypedTextField<BigDecimal> textField = uiComponents.create(TypedTextField.class);
textField.setDatatype(datatypeRegistry.get(BigDecimal.class));
// Manual value binding
textField.setTypedValue(do08incExp.getNum2());
textField.addTypedValueChangeListener(e -> {
if (e.isFromClient()) {
do08incExp.setNum2(e.getValue());
}
});
return textField;
}
I really appreciate your support on this.
Best Regard,
Chee Hao