:: Архив конференции по VFP до 2005 года
Grid
M.Crazy
Автор
Есть объект Grid. Надо при нажатии на какой-либо Header сортировать по данному столбцу. Проблема в том, что неизвестно, сколько будет столбцов, поэтому в построителе нельзя указать ColumnCount. Я не нашел у Gridа события, реагирующего на нажатие на Header.
Ratings: 0 negative/0 positive
RE: Grid
Игорь

Сообщений: 64
Дата регистрации: 03.09.2000
Я думаю, что вам нужно отслеживать событие нажания мыши на Header, а потом смотреть к какому столбцу он привязан и делать анализ...
Ratings: 0 negative/0 positive
RE: Grid
M.Crazy
Автор
Проблема в том, что Header создается во время выполнения программы и количество столбцов неизвестно. Как в таком случае отслеживать нажатие на Header?
Ratings: 0 negative/0 positive
RE: Grid
ВладимирМ

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Не совсем ясно, почему ты не можешь сделать один метод с параметром в форме или в Gride, а при создании каждого Header на его метод Click повесить вызов этого метода с параметром равным номеру соответствующего столбца.
Правда я сам не пробовал и не знаю, как назначить метод, если колонка создается программно.
Ratings: 0 negative/0 positive
RE: Grid
M.Crazy
Автор
Как раз проблема (причем сталкивался я с ней и по другому поводу) - КАК ПРОГРАММНО НАЗНАЧИТЬ МЕТОД ОБЪЕКТУ в фоксе (конечно, объект создается сам - я его не создаю, а просто хочу заменить его стандартное событие)? У меня так и не получилось...
Ratings: 0 negative/0 positive
RE: Grid
M.Crazy
Автор
Неужели никто не знает, как на этапе выполнения менять код события объекта (или переназначать собыия)?!
Ratings: 0 negative/0 positive
RE: Grid
Sergio
Придется определять свои классы для TextBox ( или чего-то еще ) и Header.
В Init Grid вручную добавлять в Колумны и Хедеры свои классы, при этом
в описании класса для Хедера описывается реакция на Клик. Работает железно. При этом, если по ходу программы подменяется файл для Грида, то
иначе вообще ничего не выйдет. Надеюсь, правильно понял проблему.
Успехов.
Ratings: 0 negative/0 positive
RE: Grid
Sergey Titow

Сообщений: 2242
Дата регистрации: 12.09.2000
Если юзается VFP6 можно попробовать так (сам не пробовал, только мысль):

поверх грида на уровне хедеров расположить пустой label с
caption = ""
autosize = .f.
top = grid.top
left = grid.left
width = grid.width
height = grid.HeaderHeight
и ресайзить вместе с гридом
В label.MouseDown для определения колонки использовать grid.gridhittest(...)
Ratings: 0 negative/0 positive
RE: Grid
ГВК

Сообщений: 98
Дата регистрации: 03.10.2000
Именно так я и делал. Все отлично работает + получаешь возможность писать многострочный текст в HEDERe
Ratings: 0 negative/0 positive
RE: Grid
M.Crazy
Автор
А как же визуальные эффекты при перемещении колонок, увеличении их размера?
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 4 (Гостей: 4)

© 2000-2024 Fox Club 
Яндекс.Метрика