Android Question Add B4XTable manually / programmatically?

swabygw

Active Member
Licensed User
Longtime User
Hello - is there a way to add the B4XTable manually? I tried

Code:
pnl.AddView(tblVehicleStats, 5%x, spacing, 90%x, 500)

but got error "java.lang.IllegalArgumentException: method anywheresoftware.b4a.objects.PanelWrapper.AddView argument 1 has type android.view.View, got b4a.example.b4xtable". So I tried

Code:
pnl.AddView(tblVehicleStats.mBase, 5%x, spacing, 90%x, 500)

but got error "java.lang.RuntimeException: Object should first be initialized (B4XView)", but couldn't find a way to initialize "mBase", such as "mBase.Initialize". So, I'm stumped. Any ideas?
 

swabygw

Active Member
Licensed User
Longtime User
Thanks - got it going with the following (with layout named, B4XTableLayout, containing table named, tblVehicleStats):

B4X:
Dim tblVehicleStats As B4XTable ' in Globals

    Dim pnlx As Panel
    pnlx.Initialize("")
    pnl.AddView(pnlx, 0dip, (btnDeleteVehicle.Top + btnDeleteVehicle.Height + spacing), 100%x, 100%y)
    pnl.Height = pnl.Height + pnlx.Height 'add height to containing scrollview panel
    pnlx.LoadLayout("B4XTableLayout")
    '
    tblVehicleStats.AddColumn("Vehicle", tblVehicleStats.COLUMN_TYPE_TEXT)
    tblVehicleStats.AddColumn("DateTime", tblVehicleStats.COLUMN_TYPE_TEXT)
    tblVehicleStats.AddColumn("Mileage", tblVehicleStats.COLUMN_TYPE_NUMBERS)
    Dim su As StringUtils
    Dim headers As List
    headers.Initialize 'the list is only used to skip the headers row
    Dim data As List = su.LoadCSV2(File.DirAssets, "VehicleData.csv", ",", headers)
    tblVehicleStats.SetData(data)
 
Upvote 0
Top