Starting from your FrozenColumnsDemo2.zip i managed to find a solution to your problem with the B4XTable frozen right column.
In the Main module i added this code:
Public Sub Main_Resize
' reposition the Edit column
B4XTable1.GetColumn("Edit").Panel.Left = B4XTable1.clvData.AsView.Left + B4XTable1.clvData.AsView.Width
' adjust width of the last column when resizing to the right
' -3 => column1 removed, edit column, index start at 0
B4XTable1.clvData.ResizeItem(B4XTable1.Columns.Size-3, B4XTable1.GetColumn("Column A").Panel.Width)
End Sub
I switched to the SQLite library that is on my computer:
#AdditionalJar: sqlite-jdbc-3.7.2
And in the B4XTable class i added a call to the subroutine Main_Resize at the end of the subroutine ResizeAndReorderCLVItems:
Private Sub ResizeAndReorderCLVItems
...
Main.Main_Resize
End Sub
This is the result when resizing the form to the right:
View attachment 139921
And this is how it looks when resizing to the left:
View attachment 139922
Note: i have only tested this in B4J.
In the attached zip-file you can find my version based on your work (and the other contributors to this thread).
Happy coding!
P.S. you can block the resizing with this code (uncomment the line #5):
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("1")
MainForm.Show
'MainForm.Resizable = False