[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, User |
|
|
| ||
В общем есть RxMemoryData, DataSource и DBGrid, в DBGrid вносят изменения, к примеру в столбце количество делают изменения и надо подсчитать сумму в этом столбце ещё до 'Post'-а, и даже до нажатия на enter (т.е. во время редактирования). |
| ||
Я с RxMemoryData не работал, не знаю что за вестч. Задачка решается на основе изменения кода SQL. Это не решение это намёк: Private Sub DBGrid_KeyPress(KeyAscii As Integer) 'Если пытаемся ввести не цифру то Beep If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 Beep Else Dim a As String a = изменённый (изменяем) SQL RxMemoryData.RecordSource = a RxMemoryData.Refresh 'DBGrid.Refresh ?! End If End Sub P.S. Задачка номер 2, данные в DBGrid можно вставлять из буфера... |
| ||
Rx Mem - хитрый класс. Работа с памятью вообще вещь, требующая особого внимания - сам широко импользую эти классы - рекомендую не использовать методы dbaware - попробуй стандартный подсчет - это надежнее... __________________________________________________________ Function Summ:extented; begin MyRxMemoryTable.First; with MyRxMemoryTable do repeat Result:=Result+FieldByName('YourCurrencyField').AsCurrency (или sFloat - не важно); until FindNext(MyRxMemoryTable); end; Вот и пихай эту функцию куда хочешь, например, TMyRxMemTableAfterInsertl - Label1.Caption=Summ; и.т.д. ___________________________________________________________ With all regards,Motorins Sergey, mighty@mail.ru |