MSHFlexGrid неправильный .RowSel

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ALF
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 11.12.2011 (Вс) 0:44

MSHFlexGrid неправильный .RowSel

Сообщение ALF » 11.12.2011 (Вс) 1:05

Добрый день, бьюсь над MSHFlexGrid , пока безуспешно.

На форме помещен MSHFlexGrid 6.0 (SP6) и TreeView, по клику на TreeView создается ADO-шный рекордсет и его содержимое заношу в грид через .DataSource. Периодически на клик мышью, строка перестает выделяться, а свойство .RowSel становится неправильным, на 1 меньше. Если кол-во строк больше, чем помещается на экран, то при выборе первой строки за пределами видимости, все приходит в норму. Неудобно, да и такое кол-во строчек не всегда, помогает перезапуск программы :) и так до след. сбоя.

Параметры грида:
Код: Выделить всё
Flex.SelectionMode = flexSelectionByRow
Flex.FocusRect = flexFocusHeavy
Flex.HighLight = flexHighlightAlways


Может кто-то сталкивался с подобным? Что делать.

ALF
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 11.12.2011 (Вс) 0:44

Re: MSHFlexGrid неправильный .RowSel

Сообщение ALF » 13.12.2011 (Вт) 13:00

Пару лет мирился с этим глюком, но пришло решение :D

Как оказалось, подобная ошибка mshflexgrid, возникала при использовании mysql-connector-odbc для связи с MySQL сервером. Если установить пустой рекордсет (если выборка вернула 0 строк) как .DataSource грида, то при последующих присваиваниях этому-же гриду, возникала ошибка с .RowSel и неправильным выделением строки. Глюк пропадает если перед присваиванием проверить на EOF или кол-во записей.

Код: Выделить всё
If Not rst.EOF Then
    Set Flex.DataSource = rst.DataSource
    Call Desing(Flex)
Else
    Flex.Clear
    Flex.Rows = 2
End If


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

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

Сейчас этот форум просматривают: Google-бот и гости: 67

    TopList