zum Glück gibts keine Beiträge sonst könnte man noch meinen ich tue das nur deswegen xD
Habe eine Frage...
Code: Alles auswählen
;Stand mal irgendwo im Inet.... funzt au ermitteln zumind. die Anzahl..
Procedure ListIcon_GetColumnCount(gadget)
Col.LV_COLUMN\mask = #LVCF_WIDTH
Repeat
a+1:x=SendMessage_(GadgetID(gadget),#LVM_GETCOLUMN,a,@Col)
Until x = 0
ProcedureReturn a
EndProcedure
Procedure add_spalten(gid.query.s)
ClearGadgetItemList(gid)
RemoveGadgetColumn(gid,0)
AddGadgetColumn(gid,0,"Typ",60)
If DatabaseQuery(#db1,query+" LIMIT 1;")
For i=0 To DatabaseColumns(#db1)-1 Step 1
spalte.s = DatabaseColumnName(#db1,i)
RemoveGadgetColumn(gid,i+1)
AddGadgetColumn(gid,i+1,spalte,60)
a=i
Next i
EndIf
For j=0 To 3
For i=(a+2) To ListIcon_GetColumnCount(gid) Step 1
RemoveGadgetColumn(gid,i)
Next i
Next j
EndProcedure
Doch bei der bleiben die Spalten am Ende stehen... wenn die vorhergehende mehr Spalten hatte als die eben geaddete...
Durch probieren hab ich rausgefunden das diese untere For Schleife mit dem Remove mehrmal durchlaufen muss. Doch nun meine Frage.. warum?
Müsste es nicht theoretisch auch ohne diese (j=0 to 3) funktionieren ?
Code: Alles auswählen
;Stand mal irgendwo im Inet.... funzt au ermitteln zumind. die Anzahl..
Procedure ListIcon_GetColumnCount(gadget)
Col.LV_COLUMN\mask = #LVCF_WIDTH
Repeat
a+1:x=SendMessage_(GadgetID(gadget),#LVM_GETCOLUMN,a,@Col)
Until x = 0
ProcedureReturn a
EndProcedure
Procedure add_spalten(gid.query.s)
ClearGadgetItemList(gid)
RemoveGadgetColumn(gid,0)
AddGadgetColumn(gid,0,"Typ",60)
If DatabaseQuery(#db1,query+" LIMIT 1;")
For i=0 To DatabaseColumns(#db1)-1 Step 1
spalte.s = DatabaseColumnName(#db1,i)
RemoveGadgetColumn(gid,i+1)
AddGadgetColumn(gid,i+1,spalte,60)
a=i
Next i
EndIf
For i=(a+2) To ListIcon_GetColumnCount(gid) Step 1
RemoveGadgetColumn(gid,i)
Next i
EndProcedure