View Single Post
  #3 (permalink)  
Old 05-13-2007, 10:34 AM
specci48's Avatar
specci48 specci48 is offline
Basic4ppc Expert
 
Join Date: Apr 2007
Location: Germany
Posts: 1,057
Awards Showcase
Beta Tester Forum Contributer 
Total Awards: 2
Default

Hi Gianni,

there is no method for an editable table.
But in the old and lost forum sloopa has provided a code sample as an workaround:

From sloopa:

Version 0.9 of an editable table.

Only "Backspace" for correcting cell-entry works (no cursor-keys (arrow-keys) Embarassed I don't know the word in englisch)

Blinking cursor don't works 100% (sometimes the last letter of the cell-entry blinks for one time)
If you make improvements - please let me know and post it here

Code:
' Editable Tablecell
'
 ==================
'
 Add a form1
'
 Add a textbox1
'
 Add a table1
'
 Add a timer1
'
'
 !!WORKS ONLY ON PPC!!

Sub Globals
   scol = 
""
   srow = 
0
   I = -
1
   scolh = 
"hidden"
End Sub

Sub App_Start
   Form1.show
   
sip(false' keine Tastatur
   table1.addcol(cString, "hidden"0)
   table1.addcol(cString, 
"Name"60)
   table1.addcol(cString, 
"Vorname"60)
   table1.addrow()
   textbox1.visible = 
false
End Sub

Sub Table1_SelectionChanged (ColName, Row)
   scol = ColName
   srow = Row
   
if table1.selectedcol = "hidden" then
         
return ' Abbruch
   end if
   I = -
1
   timer1.enabled = 
true
   
SIP(true)
   table1.cell(scolh,srow) = table1.cell(scol,srow) 
' Hilfszelle bekommt den Wert der Zelle
End Sub

Sub TextBox1_KeyPress (key)
   
if key = chr(13then  ' Return gedr�ckt   
      table1.focus = true
      
SIP(false)          
      timer1.enabled = 
false        
      CellFinal
      table1.selectcell(
"hidden",srow)
      
return
   
end if
   
if key =chr(8then ' Backspace gedr�ckt
      if StrLength(table1.cell(scolh,srow)) > 0 then
         cellstr = table1.cell(scolh,srow)
         newstr = substring(cellstr, 
0, StrLength(cellstr)-1)
         table1.cell(scolh,srow) = newstr
         table1.cell(scol,srow) = table1.cell(scolh,srow)
         
return
      
else
         
return ' wenns = 0 ist nur return, ansonsten wird ein Block angezeigt
      end if
   
end if
   table1.cell(scolh,srow) = table1.cell(scolh,srow) & key
   CellFinal
End Sub

Sub CellFinal
   table1.cell(scol,srow) = table1.cell(scolh,srow)
End Sub

Sub Timer1_Tick
   
if I < 0 then
      BlinkOn
   
else
      BlinkOff
   
end if
   I = I *(-
1)
   textbox1.Focus = 
true
End Sub

Sub BlinkOn
   table1.cell(scol,srow) = table1.cell(scolh,srow) & 
"I"
End Sub

Sub BlinkOff
   
if StrLength(table1.cell(scol,srow)) <> 0 then
         table1.cell(scol,srow) = substring(table1.cell(scol,srow), 
0, StrLength(table1.cell(scol,srow))-1)
   
end if
End Sub
Reply With Quote