Главная страница
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.058 c
3-1121337516
Dysan
2005-07-14 14:38
2005.08.28
язык запросов к XML


5-1091523502
Зинец Виктор
2004-08-03 12:58
2005.08.28
published -> private - как бы сделать?


14-1123492515
WonderfulDay
2005-08-08 13:15
2005.08.28
Зажимание шифта


4-1120564476
[Savage]
2005-07-05 15:54
2005.08.28
Dump


4-1121315097
unregister_256
2005-07-14 08:24
2005.08.28
ShellAbout()