Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: MSFlexGrid - поиск и переход к строке Добавлено: 27.12.06 14:03  

Автор вопроса:  vic | Web-сайт: uproshenka.tamb.ru
Скажите, как в MSFlexGrid (VB6) перейти к определенной строке с ее выделением? И еще есть ли в FlexGrid встроенные средства для поиска? То что я делаю наверное неправильно:
Dim zk As Long 'для цикла
Dim vstr As Long 'всего строк
Dim SearchChar As String 'что ищем
Dim SearchString As String 'где ищем
SearchChar = cboEngSN.Text 'образец для поиска
vstr = FG1.Rows - 1 'количество строк
For zk = 1 To vstr
SearchString = FG1.TextArray(2 + (zk * 7)) 'перебираем ячейки второго столбца
If InStr(SearchString, SearchChar) <> 0 Then
MsgBox zk 'Ура нашли! НО ВОТ КАК ПЕРЕЙТИ К НАЙДЕННОЙ СТРОКЕ С ВЫДЕЛЕНИЕМ ЕЕ?
Exit Sub
End If
Next

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #1 Добавлено: 27.12.06 14:52
FG1.Row = zk

И попробуй в свойствах SelectionMode поставь SelectionByRow...

Ответить

Номер ответа: 2
Автор ответа:
 vic



Вопросов: 2
Ответов: 4
 Web-сайт: uproshenka.tamb.ru
 Профиль | | #2
Добавлено: 27.12.06 17:01
Я так уже пробовал - выделение вообще пропадает.

Ответить

Номер ответа: 3
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #3 Добавлено: 28.12.06 07:58
Оно не пропадает. Когда в Экселе выделяешь много ячеек они все синие, кроме одной, но она тоже выделена, хотя и не синяя. Вот и в этой таблице такая же штука...
Попробуй добавь этот код:

    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
    Const KEYEVENTF_KEYUP As Short = &H2S 'событие отпускания клавиши
    Const VK_DOWN As Short = &H28S


И вот так:
FG1.Row = zk - 1
Call keybd_event(VK_DOWN, 0, 0, 0)
Call keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0)
Exit For

Ответить

Номер ответа: 4
Автор ответа:
 vic



Вопросов: 2
Ответов: 4
 Web-сайт: uproshenka.tamb.ru
 Профиль | | #4
Добавлено: 28.12.06 09:44
Константы у меня VB6 не принимает... Это не NET синтаксис?

Ответить

Номер ответа: 5
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #5
Добавлено: 28.12.06 09:59
А что в VB используют Short?

Ответить

Номер ответа: 6
Автор ответа:
 vic



Вопросов: 2
Ответов: 4
 Web-сайт: uproshenka.tamb.ru
 Профиль | | #6
Добавлено: 28.12.06 11:37
Как бы вышеприведенный код на NET перевести на VB?

Ответить

Номер ответа: 7
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #7 Добавлено: 29.12.06 14:25
Мда, попутал...

вот попробуй на 6 басике:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Const KEYEVENTF_KEYUP = &H2 '&#241;&#238;&#225;&#251;&#242;&#232;&#229; &#238;&#242;&#239;&#243;&#241;&#234;&#224;&#237;&#232;&#255; &#234;&#235;&#224;&#226;&#232;&#248;&#232;
Const VK_DOWN = &H28

Ответить

Номер ответа: 8
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #8 Добавлено: 29.12.06 14:26
Зеленое не копируй.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам