MSHFlexGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

MSHFlexGrid

Сообщение Tuco » 27.12.2004 (Пн) 17:17

Здравствуйте!
Странное дело у меня происходит при работе с этим гридом. Заполняю грид из базы данных. Автоматически он называет колонки названиями полей из базы. Чтобы после каждого заполнения ставить свои названия колонок я написал процедуру:
Код: Выделить всё
Private Sub GridFormater()
    ' MsgBox "Начало"
    MSHFlexGrid1.TextMatrix(0, 1) = "Название колонки 1"
    MSHFlexGrid1.TextMatrix(0, 2) = "Название колонки 2"
    MSHFlexGrid1.TextMatrix(0, 3) = "Название колонки 3"
    MSHFlexGrid1.TextMatrix(0, 4) = "Название колонки 4"
    MSHFlexGrid1.TextMatrix(0, 5) = "Название колонки 5"

В начале этой процедуры стоит msgbox. Когда он работает - процедура тоже выполняется, но если его запаролить (как в примере) колонки сохраняют названия, данные по умолчанию и не хотят принимать те, которые нужны мне. Что делать?
"There's more than one way to do it!"

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 17:20

Мож рефреш вызвать? :?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 27.12.2004 (Пн) 17:24

Если вызвать рефреш то я потеряю то, что загружено в грид (там находится фильтрованный рекордсет). Тем более, что и без рефреша названия меняются, если я останавливаю выполнение процедуры.
"There's more than one way to do it!"

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 17:25

А, ну doevents тогда :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 27.12.2004 (Пн) 17:35

Ай, Шаман! :) Ай, шайтан! :) Ай, спасибо! Работает! Спасибо! Супер! :D А я две недели мучаюсь, а тут так просто всё! А почему не работало раньше? Что должно было произойти и не происходило?
"There's more than one way to do it!"

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 18:11

WM_PAINT должно было произойти :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Re: MSHFlexGrid

Сообщение Dzhon » 27.12.2004 (Пн) 19:35

Tuco писал(а):
Код: Выделить всё
Private Sub GridFormater()
    ' MsgBox "Начало"
    MSHFlexGrid1.TextMatrix(0, 1) = "Название колонки 1"
    MSHFlexGrid1.TextMatrix(0, 2) = "Название колонки 2"
    MSHFlexGrid1.TextMatrix(0, 3) = "Название колонки 3"
    MSHFlexGrid1.TextMatrix(0, 4) = "Название колонки 4"
    MSHFlexGrid1.TextMatrix(0, 5) = "Название колонки 5"



А вообще зачем каждый раз к гриду обращаться есть же свойство
Me.mshfgReestr.FormatString = "Столбец1|Столбец2|и т.д.|"

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 28.12.2004 (Вт) 10:22

Спасибо большое!
"There's more than one way to do it!"

ВалГер
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 09.11.2004 (Вт) 17:34
Откуда: Псков

Сообщение ВалГер » 18.01.2005 (Вт) 16:11

GSerg писал(а):А, ну doevents тогда :)


Аналогичная проблема с MSHFlexGrid и у меня, но я не понял про DoEvents Если можно, то поподробнее, пожалуйста.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.01.2005 (Вт) 16:38

Код: Выделить всё
Присвоить значение
DoEvents

:)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ВалГер
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 09.11.2004 (Вт) 17:34
Откуда: Псков

Сообщение ВалГер » 19.01.2005 (Ср) 15:39

GSerg писал(а):
Код: Выделить всё
Присвоить значение
DoEvents

:)


Простите, чему присвоить?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.01.2005 (Ср) 15:56

Тому, что должно отрисоваться...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ВалГер
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 09.11.2004 (Вт) 17:34
Откуда: Псков

Сообщение ВалГер » 19.01.2005 (Ср) 17:37

GSerg писал(а):Тому, что должно отрисоваться...


А примерчик кода? Пожалуйста!

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 19.01.2005 (Ср) 17:49

Код: Выделить всё
Private Sub GridFormater()
    DoEvents
    MSHFlexGrid1.TextMatrix(0, 1) = "Название колонки 1"
    MSHFlexGrid1.TextMatrix(0, 2) = "Название колонки 2"
    MSHFlexGrid1.TextMatrix(0, 3) = "Название колонки 3"
    MSHFlexGrid1.TextMatrix(0, 4) = "Название колонки 4"
    MSHFlexGrid1.TextMatrix(0, 5) = "Название колонки 5"


В таком варианте колонки получают названия, которые нужны...
"There's more than one way to do it!"

ВалГер
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 09.11.2004 (Вт) 17:34
Откуда: Псков

Сообщение ВалГер » 19.01.2005 (Ср) 18:11

Спасибо большое!

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 20.01.2005 (Чт) 2:28

А есть возможность заставить грид листать данные при прокрутке скрола мыши, если да - то как?
С уважением, Сергей.

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 20.01.2005 (Чт) 19:30

Дрова для мыши установить родные!
Ми..и...и...и..р Вашему дому.............


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList