30.11.2001, 11:58 | #1 |
Участник
|
Позиционирование курсора на конкретной записи в DataSource на форме
Для этого надо воспользоваться табличным методом findRecord(common _record).
_record – курсор, который можно получить с помощью табличного метода find(). В примере использована таблица LedgerJournalTrans: 1. Метод, который возвращает курсор: X++: static LedgerJournalTrans.find(JournalNum journalNum, Voucher voucher, boolean _forUpdate) { LedgerJournalTrans ledgerJournalTrans; if (journalNum && voucher) { ledgerJournalTrans.selectForUpdate(_forUpdate); select ledgerJournalTrans index NumVoucherIdx where ledgerJournalTrans.journalNum == journalNum && ledgerJournalTrans.voucher == voucher; } return ledgerJournalTrans; } X++: LedgerJournalTrans LJT;
JournalNum JournalNumTMP;
Voucher VoucherTMP;
LedgerJournalTrans cur;
LJT = LedgerJournalTrans_ds.cursor();
JournalNumTMP = LJT.JournalNum;
VoucherTMP = LJT.Voucher;
cur = LedgerJournalTrans::find(JournalNumTMP, VoucherTMP, true); - - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - - - -- - - - - - - - - - -- - Метод, который позиционирует курсор на нужном нам месте X++: LedgerJournaltrans_ds.findRecord(cur); |
|
19.07.2004, 17:14 | #2 |
Участник
|
а если в таблице скажем 100000 записей?
твой код жутко тормозит потому что "пробегает" по всем записям, а скажем "переход к основной таблице" работает без этого, а как сделать быстрый "внутренний переход" ? |
|
|
|