powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по TrueDBGrid
5 сообщений из 5, страница 1 из 1
Вопрос по TrueDBGrid
    #33367913
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим на форме есть грид с колонками Цена и Количество (соотв. поля из рекордсета 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
Вопрос по TrueDBGrid
    #33367985
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myGrid.Update
...
Рейтинг: 0 / 0
Вопрос по TrueDBGrid
    #33368001
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ!

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
Вопрос по TrueDBGrid
    #33368015
Фотография 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
Вопрос по TrueDBGrid
    #33368035
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по TrueDBGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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