>>CREATE CURSOR dynindex (f1 i,f2 i) >>FOR k=1 TO 100 >> INSERT INTO dynindex VALUES (RAND()*10000,RAND()*10000) >>NEXT >>g_indexexp = ".T." >>INDEX ON EVAL(m.g_indexexp) TAG TCOLUMN >>CURSORSETPROP("Buffering",5) >>BROWSE NORMAL >>g_indexexp = FIELD(1) >>REINDEX >>BROWSE NORMAL >>g_indexexp = FIELD(2) >>REINDEX >>BROWSE NORMAL >>>
CREATE CURSOR dynindex (SORT I,f1 i,f2 c(10)) FOR k=1 TO 100 INSERT INTO dynindex VALUES (0,RAND()*10000,TRANSFORM(RAND()*10000)) NEXT INDEX ON SORT TAG t1 CURSORSETPROP("Buffering",5) BROWSE NORMAL * index on F1 SELECT RECNO() rno FROM dynindex WITH (BUFFERING = .T.) ORDER BY F1 INTO CURSOR sortColumn SET ORDER TO 0 IN dynindex SET RELATION TO rno INTO dynindex REPLACE ALL dynindex.sort WITH RECNO() USE SELECT dynindex SET ORDER TO 1 LOCATE BROWSE NORMAL * index on F2 SELECT RECNO() rno FROM dynindex WITH (BUFFERING = .T.) ORDER BY F2 INTO CURSOR sortColumn SET ORDER TO 0 IN dynindex SET RELATION TO rno INTO dynindex REPLACE ALL dynindex.sort WITH RECNO() USE SELECT dynindex SET ORDER TO 1 LOCATE BROWSE NORMALIt is possible to build a dynamic order without the field Sort,