>Could someone please show me a sample how to index a CursorAdapter
>in the AfterCursorFill or in the AfterCursorRefresh methods.
>
>I'm trying and havent any ideia how to do it.
>
>Thanks in advance
>
>Peter
Hi Peter,
You don't have to recreate index in AfterCursorRefresh if it is created by AfterCursorFill.
Here is the example:
CLOSE DATABASES all
clear
CREATE CURSOR foo (f1 I)
INSERT INTO foo values(2)
INSERT INTO foo values(3)
INSERT INTO foo values(1)
?[ALIAS()],ALIAS()
?[ORDER()],ORDER()
LIST
oCA=CREATEOBJECT("MyCA")
? "oCA.CursorFill()"
oCA.CursorFill()
?[ALIAS()],ALIAS()
?[ORDER()],ORDER()
LIST
INSERT INTO foo values(-2)
INSERT INTO foo values(-3)
INSERT INTO foo values(-1)
? "oCA.CursorRefresh()"
oCA.CursorRefresh()
SELECT (oCA.Alias)
?[ALIAS()],ALIAS()
?[ORDER()],ORDER()
LIST
DEFINE CLASS MyCA AS CursorADapter
DataSourceType="Native"
CursorSchema="f1 I"
BufferModeOverride=5
SelectCmd="select * from foo"
PROCEDURE AfterCursorFill
LPARAMETERS lUseCursorSchema, lnoDataOnLoad, cSelectCmd, lResult
IF !lResult
RETURN
ENDIF
SELECT (this.Alias)
oldMode=CURSORGETPROP("Buffering")
CURSORSETPROP("Buffering",3)
INDEX ON f1 TAG f1
CURSORSETPROP("Buffering",oldMode)
ENDPROC
ENDDEFINE
Thanks,
Aleksey.