powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с MSHFlexGrid
3 сообщений из 3, страница 1 из 1
Помогите разобраться с MSHFlexGrid
    #36165421
ZiMM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа,
Обнаружила новый для себя контрол, который мне очень понравился. Но вот незадача, немогу доконца разобраться с ним. Информации про MSHFlexGrid нашла очень мало. Если у кого есть ссылка киньте пожалуйста, или помогите настроить его. Есть несколько вопросов:
1) На пользовательской форме есть грид, в который я подгружаю табличку с MS Sql сервера. Таблица примерно такого формата
PeriodID StartDate EndDate
12/2008 11/1/2008 11/30/2008
13/2008 12/1/2008 12/31/2008
1/2009 1/1/2009 1/31/2009
2/2009 2/1/2009 2/28/2009
3/2009 3/1/2009 3/31/2009
1/2010 4/1/2009 4/30/2009
2/2010 5/1/2009 5/31/2009
3/2010 6/1/2009 6/30/2009

Так же есть TextBox, в который вводится значение сходное со значением в первом столбце грида, и есть кнопка, по нажатию которой должен производиться поиск значения из TextBox в гриде и активироваться нужная строка.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub FindByPeriod(FGrid As MSHFlexGrid, P As String)
Dim i As Long
For i = FGrid.Rows -  1  To FGrid.FixedRows Step - 1 
 If (P >= FGrid.TextArray( 3  * i)) Then
    FGrid.RowSel = i
    Exit For
 End If
Next
End Sub

Но моя процедура приводит к выделению с первой по найденную строку, а активной остается первая строка. Что я делаю неправильно?
2) как отключить возможность выделения сразу нескольких строк? Чтобы это изначально было сделать невозможно? В гриде настроила выделения по строкам
Заранее спасибо
...
Рейтинг: 0 / 0
Помогите разобраться с MSHFlexGrid
    #36166373
ZiMM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла свойство TopRow, которое должно прокручивать строки и свойство Row, которое активирует нужную строку. Изменила свою процедуру на это :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub FindByPeriod(FGrid As MSHFlexGrid, P As String)
Dim i As Long
With FGrid
  For i = .Rows -  1  To .FixedRows Step - 1 
    If (P >= .TextArray(.Fixedcols  * i)) Then
      .Row = i
      .TopRow = i
      .RowSel = i
      Exit For
    End If
  Next
End With
End Sub

как результат поиск и выделение теперь происходит верно, но вот почему-то TopRow не работает. Т.е. присваивание не проходит, значение этого параметра остается без изминений.
В help нашла строку:

Property TopRow As Long
Member of MSHierarchicalFlexGridLib.MSHFlexGrid
Returns or sets the uppermost row displayed in the Hierarchical FlexGrid. Not available at design time.

Подскажите кто нибудь как включить и выключить этот design mode? Я вроде ничего не изменяю в нем и не редактирую?
...
Рейтинг: 0 / 0
Помогите разобраться с MSHFlexGrid
    #36166582
ZiMM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла ответ на вопрос номер 1) нужно было всеголишь передать фокус гриду.
На вопрос номер 2) пока решения не нашла.
Придумала новый вопрос:
3) Есть 2 одинаковых MSHFlexGrid с одинаковым набором записей, у обоих выставленно свойство ScrollBars = flexScrollBarBoth. В одном гриде отображается скрол бар, в другом - такое ощущение что не прорисовывается. Если по "неполноценному" гриду пощелкать мышкой - то скрол бар прорисуется, но как -то неправильно. Пробывала удалять грид и копировать с нормального - результат прежний.

Модератор: Тема перенесена из форума "Microsoft Office".
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с MSHFlexGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]