Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

динамический массив в gride   Найти похожие ветки 

 
New_User   (2004-09-01 19:09) [0]

Привет всем!
Создаю компонент MyGrid на основе drawgrid использую в нем динамический массив который хранит информацию о характеристике каждой ячейки, как и где его нужно оглавлять и изменять его размер правильно, а то я видимо что-то делаю не так

(размер в начале задаю в create, а дальше увеличиваю число строк и пытаюсь изменить массив в процедуре drawcell но безрезультатно, а после закрытия проги выбрасывает ошибку, причем я пытаюсь записать данные в несуществующие ячейки но ошибку не выдает, а только после выхода  )


 
Юрий Зотов ©   (2004-09-02 09:53) [1]

DrawCell - это отрисовка ячеек (как заполненных, так и пустых). А Ваш массив - это хранение информации. Какое отношение имеет одно к другому? Никакого. Так зачем же завязывать изменение размеров массива на метод отрисовки?

Смотрим исходники. Видим, что у DrawGrid есть свойства RowCount и ColCount, а у них есть методы записи SetRowCount и SetColCount. Каждый из этих методов вызывает метод ChangeSize, тот вызывает внутреннюю процедуру DoChange, а из нее вызывается динамический метод SizeChanged. Таким образом, если Вы в своем потомке заместите метод SizeChanged, то он будет автоматически вызываться при любом изменении количества строк или столбцов в таблице. Вот там и пишите установку размеров своего массива - и тогда Ваш массив всегда будет четко и автоматически синхронизирован с массивом самих ячеек.

И не нужны никакие начальные размеры в Create, и уж тем более никакие DrawCell.


 
New_User   (2004-09-02 19:38) [2]

Спасибо за подробный ответ - буду пробывать !



Страницы: 1 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.069 c
1-1123660831
tex
2005-08-10 12:00
2005.08.28
Печать на цветной принтер


3-1121338260
Леонид
2005-07-14 14:51
2005.08.28
Узнать и передать значение если запись с пометкой на удаление...


11-1106058725
Dimona 33321
2005-01-18 17:32
2005.08.28
Проблема с формами MCK


1-1123469073
TerminalHead
2005-08-08 06:44
2005.08.28
Защита программы паролем


1-1123245495
Lotus
2005-08-05 16:38
2005.08.28
Зависание программы и методы борьбы с этим