Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по TrueDBGrid / 5 сообщений из 5, страница 1 из 1
09.11.2005, 06:35:32
    #33367913
Kicel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по TrueDBGrid
Допустим на форме есть грид с колонками Цена и Количество (соотв. поля из рекордсета price и qty) с возможностью изменять значения ячеек прямо из грида.
Есть другая колонка Сумма (unbound column). Все сделано в соответствии с документацией по гриду:

Private Sub myGrid_UnboundColumnFetch(Bookmark As Variant, ByVal col As Integer, Value As Variant)
rslClone.Bookmark = Bookmark
Value = rslClone!qty * rsClone!price
End Sub

Вопрос: как сделать чтобы значение в ячейке Сумма изменялось после смены текущей ячейки (а не строки), т.е. изменяется Цена или Количество и при передвижении крсора на другое поле нужно чтобы изменилось значение ячейки Сумма?
...
Рейтинг: 0 / 0
09.11.2005, 08:18:38
    #33367985
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по TrueDBGrid
myGrid.Update
...
Рейтинг: 0 / 0
09.11.2005, 08:31:34
    #33368001
Kicel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по TrueDBGrid
Спасибо за ответ!

WorobjoffmyGrid.Update

Private Sub myGrid_UnboundColumnFetch(Bookmark As Variant, ByVal col As Integer, Value As Variant)
rsClone.Bookmark = Bookmark
Value = rsClone!qty * rsClone!price

myGrid.Update
End Sub

------------------------------------------------
Если вот так, то поведение грида не изменилось.
Или в какое другое место?
...
Рейтинг: 0 / 0
09.11.2005, 08:42:34
    #33368015
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по TrueDBGrid
Код: plaintext
1.
2.
3.
'Так
Private Sub TDBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   TDBGrid1.Update
End Sub
Код: plaintext
1.
2.
3.
4.
5.
'или так
Private Sub TDBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   If TDBGrid1.Columns(LastCol).DataField = "price" Or TDBGrid1.Columns(LastCol).DataField = "qty" Then
      TDBGrid1.Update
   End If
End Sub
...
Рейтинг: 0 / 0
09.11.2005, 08:56:01
    #33368035
Kicel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по TrueDBGrid
Worobjoff
Код: plaintext
1.
2.
3.
'Так
Private Sub TDBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   TDBGrid1.Update
End Sub
Код: plaintext
1.
2.
3.
4.
5.
'или так
Private Sub TDBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   If TDBGrid1.Columns(LastCol).DataField = "price" Or TDBGrid1.Columns(LastCol).DataField = "qty" Then
      TDBGrid1.Update
   End If
End Sub



Спасибо - то что надо!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по TrueDBGrid / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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