Страница 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)