TStringGrid: load не загркжает строки, если они не созданы.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

TStringGrid: load не загркжает строки, если они не созданы.

Сообщение yantux »

Мне надо создавать таблицу TStringGrid, заполнять её, сохранять и загружать.

Проблема в загрузке. Я не знаю заранее, сколько будет строк в таблице. Когда выполняю load, то этот метод загружает только то количество строк, которое уже существует, а строки остальные строки, не загружает, хотя они есть в файле. Хотелось бы загружать файл-таблицу методом load('qqqq') и чтобы в объекте TStringGrid появлялись все строки, которые есть в файле, потому что я не знаю заранее сколько будет строк в файле.

Как решить эту проблему? Может атрибуты какието надо поменять?
Putnick
новенький
Сообщения: 62
Зарегистрирован: 18.03.2009 12:02:56

Сообщение Putnick »

Уважаемый yantux,
попробуйте так:

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

StringGrid.SaveOptions:=[soDesign, soPosition, soContent];

это сохраняет "габариты" таблицы, положение курсора и содержимое.
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Сообщение yantux »

Putnick писал(а):Уважаемый yantux,
попробуйте так:

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

StringGrid.SaveOptions:=[soDesign, soPosition, soContent];

это сохраняет "габариты" таблицы, положение курсора и содержимое.


Собственно проблем с сохранением нет. Если смотреть сохранённый файл текстовым редактором, то все данные на месте. Проблема именно в загрузке данных. Если не знать заранее количество строк в таблице и не создать не создать необходимого количества строк, то при загрузке будет загружено именно то количество, которое уже создано.

К сожалению ваши влаги не помогают.
yurgel
новенький
Сообщения: 37
Зарегистрирован: 29.06.2010 16:06:58

Сообщение yurgel »

SaveOptions грида анализируются не только при сохранении, но и при загрузке. Устанавливайте их непосредственно перед LoadFromFile или вообще где-нибудь в OnCreate формы.
Ответить