BBjRecordSet::moveToRecord

Description

In BBj 7.0 and higher, this method moves the current record pointer in a BBjRecordSet to a specified number of records.

Syntax

Return Value

Method

void

moveToRecord(int recordNumber)

Parameters

Variable

Description

recordNumber

Specifies the index of the record to which the record pointer should be moved.

Return Value

None.

Remarks

Field values are always set as strings.

Example

REM Data-bound controls with a Standard Navigator

REM Obtain the instance of the BBjAPI object

  LET api!=BBjAPI()
  SYSGUI=UNT
  OPEN (SYSGUI)"X0"
  sysGui!=api!.getSysGui()

REM ' Create the data file
  FILENAME$="State.dat"
  MODES$=""
  TEMPLATE$="STATE:C(2),NAME:C(16*=0)"
  erase FILENAME$,err=*next
  mkeyed FILENAME$,[0:1:2],0,32
  channel=unt
  open (channel)FILENAME$
  dim REC$:TEMPLATE$

  REM ' Load the file with state codes and names
  while 1
     dread rec.state$,rec.name$,END=*break
     write record (channel)rec$
  wend
  close (channel)

REM ' Create the RecordSet
  RecordSet! = BBJAPI().createFileRecordSet(FILENAME$,MODES$,TEMPLATE$)

REM Set addWindow param values
  X=200
  Y=200
  WIDTH=350
  HEIGHT=520
  TITLE$="Data-bound controls sample"

  sysGui!.setContext(0)
  window! = sysGui!.addWindow(X,Y,WIDTH,HEIGHT,TITLE$,$00010002$)

REM add controls to window
  window!.addStaticText(101,50,50,100,25,"State:")
  state! = window!.addEditBox(201,100,50,40,25,"")
  state!.setEditable(0)

  window!.addStaticText(102,50,100,100,25,"Name:")
  name! = window!.addEditBox(202,100,100,200,25,"")

  Navigator! = window!.addNavigator(100,50,150,250,30,"Navigator")

  button!=window!.addButton(300, 100, 200, 200, 40, "Delete current record")
  button!.setCallback(button!.ON_BUTTON_PUSH, "buttonPush")

  grid!=window!.addDataBoundGrid(301,50, 260, 250, 200)
  grid!.setEditable(1)

REM  bind controls to recordset
  state!.bindRecordSet(RecordSet!,"state")
  name!.bindRecordSet(RecordSet!,"name")
  Navigator!.bindRecordSet(RecordSet!,"state")
  grid!.bindRecordSet(recordSet!)

  grid!.setDefaultColumnHeaders()

REM set callbacks
  Navigator!.setCallback(Navigator!.ON_NAV_FIRST,"first")
  Navigator!.setCallback(Navigator!.ON_NAV_PREVIOUS,"previous")
  Navigator!.setCallback(Navigator!.ON_NAV_NEXT,"next")
  Navigator!.setCallback(Navigator!.ON_NAV_LAST,"last")
  window!.setCallback(window!.ON_CLOSE,"APP_CLOSE")
  grid!.setCallback(grid!.ON_DB_GRID_ROW_CHANGE_REQUEST, "gridRowChange")


process_events

first:
  gosub save
  RecordSet!.first()
return

previous:
  gosub save
  RecordSet!.previous(err=*next)
return

next:
  gosub save
  RecordSet!.next(err=*next)
return

last:
  gosub save
  RecordSet!.last()
return

save:
  if RecordSet!.isCurrentRecordDirty() then
  print 'rb',
    RecordSet!.update(RecordSet!.getCurrentRecordData())
  endif
return

buttonPush:
  recordSet!.deleteCurrentRecordData()
  recordSet!.moveToRecord(0)
return

gridRowChange:
  event! = sysGui!.getLastEvent()
  print event!
  print event!.getRow(),",",event!.getColumn()
  recordSet!.moveToRecord(event!.getRow())
return


APP_CLOSE:
  release

DATA "AK","Alaska"
DATA "AL","Alabama"
DATA "AR","Arkansas"
DATA "AZ","Arizona"
DATA "CA","California"
DATA "CO","Colorado"
DATA "CT","Connecticut"
DATA "DC","District of Columbia"
DATA "DE","Delaware"
DATA "FL","Florida"
DATA "GA","Georgia"
DATA "GU","Guam"
DATA "HI","Hawaii"
DATA "IA","Iowa"
DATA "ID","Idaho"
DATA "IL","Illinois"
DATA "IN","Indiana"
DATA "KS","Kansas"
DATA "KY","Kentucky"
DATA "LA","Louisiana"
DATA "MA","Massachusetts"
DATA "MD","Maryland"
DATA "ME","Maine"
DATA "MI","Michigan"
DATA "MN","Minnesota"
DATA "MO","Missouri"
DATA "MS","Mississippi"
DATA "MT","Montana"
DATA "NC","North Carolina"
DATA "ND","North Dakota"
DATA "NE","Nebraska"
DATA "NH","New Hampshire"
DATA "NJ","New Jersey"
DATA "NM","New Mexico"
DATA "NV","Nevada"
DATA "NY","New York"
DATA "OH","Ohio"
DATA "OK","Oklahoma"
DATA "OR","Oregon"
DATA "PA","Pennsylvania"
DATA "PR","Puerto Rico"
DATA "RI","Rhode Island"
DATA "SC","South Carolina"
DATA "SD","South Dakota"
DATA "TN","Tennessee"
DATA "TX","Texas"
DATA "UT","Utah"
DATA "VA","Virginia"
DATA "VI","Virgin Islands"
DATA "VT","Vermont"
DATA "WA","Washington"
DATA "WI","Wisconsin"
DATA "WV","West Virginia"
DATA "WY","Wyoming"

End

See Also

BBjAPI

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.



______________________________________________________________________________________

Copyright BASIS International Ltd. BBj®, Visual PRO/5®, PRO/5®, and BBx® are registered trademarks.