2013-10-15 3 views
1

Я использую компонент listbox и LiveBindings для отображения содержимого поля, но таблица имеет 14443 записей, а в lisbox отображаются только 200 записей. Версия delphi XE5 - это лицензия на пробную версию. Каковы предельные строки списка? На мобильном устройстве работает Android.ListBox Предел элемента на Delphi XE5 FireMonkey

Спасибо.

+0

Возможный дубликат [Как показать более 200 строк в TStringGrid с помощью LiveBindings?] (Http://stackoverflow.com/questions/8591818/how-to-show-more-than-200-rows-in-tstringgrid -Использование-LiveBindings) –

ответ

8

В LiveBindings компоненты, которые могут содержать несколько записей, как в TCustomBindList, TCustomBindGridList, TCustomBindGridLink и TCustomLinkListControlToField было свойство, называемое BufferCount со значением по умолчанию -1. Когда инициализируется внутренний счетчик db (TBindScopeDBEnumerator) LiveBindings, значение этого свойства (BufferCount) проверяется и если его значение меньше 0, тогда устанавливается буфер из 200 элементов. Чтобы преодолеть это ограничение, вам необходимо изменить значение BufferCount на большее значение или на значение RecordCount вашего TDataSet.

Другой альтернативой является свойство AutoBufferCount значение true, которое устанавливает внутреннее значение BufferCount в число записей TDataSet.