DataGrid column renderer issue

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:
{BF1A2758-DF6A-4A3D-AEF1-BC58033735DB}

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.
{09D10A1B-1060-4506-A289-CDFFAAAD8F49}

 @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

Additional info found that the issue happens when we are using TypedTextField<BigDecimal> . it works well if using TypedTextField<String>