Страница 1 из 1

MarkedBrowse - показать только выделенное

Добавлено: 04 Апрель 2007, 18:03
OVV
Надо сделать Subj. В большом списке юзер чего-то понатыкает, а потом, клацнув галку "Показать только..." хочет увидеть только то, что выбрал. Как это сделать _правильно_ ?

Re: MarkedBrowse - показать только выделенное

Добавлено: 05 Апрель 2007, 15:18
Andrew™
OVV писал(а):Надо сделать Subj. В большом списке юзер чего-то понатыкает, а потом, клацнув галку "Показать только..." хочет увидеть только то, что выбрал. Как это сделать _правильно_ ?
для этого можно использовать маркировку Browse (шаблонная подержка)

далее в .FillQueue

Код: Выделить всё

 IF NOT SELF.Marked.MarcedRecord()
   SELF.StatusRecord = RECORD:OutOfRange
   RETURN
 END

Re: MarkedBrowse - показать только выделенное

Добавлено: 05 Апрель 2007, 17:27
OVV
для этого можно использовать маркировку Browse (шаблонная подержка)
Да, ее и юзаю.
далее в .FillQueue

Код: Выделить всё

 IF NOT SELF.Marked.MarcedRecord()
   SELF.StatusRecord = RECORD:OutOfRange
   RETURN
 END
Чтобы это сработало надо после установки галки "Показать только выбранное" вызвать .Load и последует запрос на сервер, а данные-то уже загружены...
Хотелось бы избежать именно повторной загрузки данных...

Re: MarkedBrowse - показать только выделенное

Добавлено: 06 Апрель 2007, 8:53
Andrew™
OVV писал(а):
для этого можно использовать маркировку Browse (шаблонная подержка)
Да, ее и юзаю.
далее в .FillQueue

Код: Выделить всё

 IF NOT SELF.Marked.MarcedRecord()
   SELF.StatusRecord = RECORD:OutOfRange
   RETURN
 END
Чтобы это сработало надо после установки галки "Показать только выбранное" вызвать .Load и последует запрос на сервер, а данные-то уже загружены...
Хотелось бы избежать именно повторной загрузки данных...
сделай доп метод в BRW1:Browse

в котором

Код: Выделить всё

I  LONG
  CODE
 LOOP WHILE I < RECORDS(SELF.Q)
  I += 1
   GET(SELF.Q,I)
   SELF.FillBuffer
   IF NOT SELF.Marked.MarkedRecord()
    DELETE(SELF.Q); I -= 1
   END
 END
 SELF.Selected(1)