Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ввод значений с клавиатуры в grid / 8 сообщений из 8, страница 1 из 1
04.06.2008, 03:50
    #35352889
vera_t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
Подскажите пожалуйста, есть ли в VB такой grid который позволяет редактировать значение в ячейке путем ввода в клавиатуры?
...
Рейтинг: 0 / 0
04.06.2008, 08:11
    #35352964
shady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
Есть. Все зависит не только от грида, но и от того как открыт рекордсет.
...
Рейтинг: 0 / 0
04.06.2008, 08:49
    #35353012
Boris_2007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
Можно писать прямо в Listview
...
Рейтинг: 0 / 0
05.06.2008, 02:14
    #35355437
vera_t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
рекордсета никакого нет. Задача состоит в следующем: нужно ввести с клавиатуры в программу 13 значений х и 13 значений y. Хотелось бы для этого MsFlexGrid, но он не позволяет ввести значения с клавиатуры. Может быть нужно изменить его свойства? Или имеетя какой-нибудь другой grid который это позволяет?
...
Рейтинг: 0 / 0
05.06.2008, 04:42
    #35355491
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
MsFlexGrid позволяет вводить значения с клавиатуры в ячейки. Я в свое время использовал два разных подхода. В интернете полно описаний по крайней мере одного из них.
...
Рейтинг: 0 / 0
05.06.2008, 04:47
    #35355493
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
Вот тут описан один, более популярный, по-моему:
http://www.tek-tips.com/faqs.cfm?pid=222&fid=3262
...
Рейтинг: 0 / 0
05.06.2008, 12:36
    #35356231
dude sam
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
Вот пример. Как у меня (до меня) сделано...

Создан FlGrVedom MSFlexGrid и массив Text46 TextBox

Обрабатываем событие KeyPress
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub FlGrVedom_KeyPress(KeyAscii As Integer)
 Select Case FlGrVedom.Col
        Case  5   'Плата без скидок
             Call GridFokus(FlGrVedom, Text46, recved,  0 )
             SendKeys Chr(KeyAscii)
        Case  7  'Плата по норме ГУ-46
             Call GridFokus(FlGrVedom, Text46, recved,  1 )
             SendKeys Chr(KeyAscii)
' ...
' ...
 End Select
End Sub
и вызываем обработчик GridFokus
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Sub GridFokus(FlexGrid As Object, bx As Object, recset As ADODB.Recordset, Index As Integer)
   bx(Index).Top = FlexGrid.CellTop + FlexGrid.Top
   bx(Index).Left = FlexGrid.CellLeft + FlexGrid.Left
   bx(Index).Width = FlexGrid.CellWidth
   If Len(FlexGrid.Text) <>  0  Then
      bx(Index).Text = FlexGrid.Text
   End If
   bx(Index).SelStart =  0 
   bx(Index).SelLength = Len(bx(Index).Text)
   bx(Index).Visible = True
   bx(Index).SetFocus
   Exit Sub
End Sub
Получили фокус в ячейке. Вводим значение и обрабатываем событие KeyDown
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub text46_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  If KeyCode =  13  Then
    If zap_text46(Index) =  1  Then 
      If FlGrVedom.Col =  5  Then
        FlGrVedom.Col =  7 
        ElseIf FlGrVedom.Col =  7  Then
' ...
' ...
           FlGrVedom.Col =  5 
        End If
    End If
    FlGrVedom.SetFocus
  End If
End Sub
zap_text46(Index) обрабатывает введённое значение
Код: plaintext
FlGrVedom.Text = Text46(Index).Text
...
Рейтинг: 0 / 0
05.06.2008, 12:44
    #35356276
dude sam
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод значений с клавиатуры в grid
Прошу прощения...
Немного не так понял автора темы. :( Каюсь.
Небольшой модификацией кода можно добиться чтобы в textbox было значение из ячейки грида... Ну а дальше все как есть...
Обрабатвать FlGrVedom_Click, но не FlGrVedom_KeyPress
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 Private Sub FlGrVedom_Click()
    Select Case FlGrVedom.Col
        Case  5   'Номер ведомости
             Call GridFokus(FlGrVedom, Text46, recved,  0 )
             'SendKeys Chr(KeyCode)
' ...
' ...
    End Select
End Sub
Либо просто не вызывать SendKeys... :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ввод значений с клавиатуры в grid / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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