Size: a a a

2020 April 27

T

Timur in Delphi & Lazarus
procedure TMainForm.UniDBGrid1SetCellValue(Sender: TObject; ACol,

 ARow: Integer; AField: TField; var Value: Variant);

begin

 self.UniDBGrid1.DataSource.DataSet.Edit;

 self.UniDBGrid1.DataSource.DataSet.FieldByName(self.UniDBGrid1.Columns.Items[Acol].FieldName).Value:=Value;

 self.UniDBGrid1.DataSource.DataSet.Post;

end;
источник

K

Kass in Delphi & Lazarus
Перед началом работы проверяйте режим работы грида?
источник

Д

Дмитрий in Delphi & Lazarus
Всем привет, здесь есть кто работал с SolidWorks api ?
источник

T

Timur in Delphi & Lazarus
то value содержит всю портянку unilookupdbcombobox, а не только его keyfield
источник

И

Илья in Delphi & Lazarus
Timur
Привет всем! Использования какого метода FDQuery будет best pratice если нужно рассчитать значения некоторых полей в таблице после того как user изменил значение записи таблицы?
BeforePost - перед сохранением записи таблица еще в режиме редактирования и можно смело писать в поля которые должны вычисляться.
источник

T

Timur in Delphi & Lazarus
Илья
BeforePost - перед сохранением записи таблица еще в режиме редактирования и можно смело писать в поля которые должны вычисляться.
Как в beforepost правильно обработать конкретную row таблицы?
источник

И

Илья in Delphi & Lazarus
Мы говорим о расчетах при выводе или о расчетах при редактировании?
источник

T

Timur in Delphi & Lazarus
О расчетах при редактировании
источник

T

Timur in Delphi & Lazarus
При изменении записи она должна рекалькулироваться
источник

И

Илья in Delphi & Lazarus
Тогда у тебя курсор уже стоит на конкретной строке. достаточно в BeforePost написать: Qry1.FieldByName('MyCalcField').asCurrency = Qry1.FieldByName('Cost').asCurrency * Qry1.FieldByName('Qtty').asCurrency;
источник

И

Илья in Delphi & Lazarus
А если "MyCalcField" - вычисляемое поле, то тогда только в событии OnCalcField. А если это всё берется с сервера (MSSQL, MySQL) то это вообще не бест Практис. Всё должно считаться на сервере.
источник

T

Timur in Delphi & Lazarus
Угу... Спасибо. Сейчас попробую переделать
источник

T

Timur in Delphi & Lazarus
Да решение beforepost лучше, не надо думать о режиме работы грида и обновлять его. Но правда у меня еще и другие таблицы справочники участвуют в расчетах...
источник

И

Илья in Delphi & Lazarus
А там надо позиционировать записи (Qry2.Locate(...)) в зависимости от KeyValue лукап контролов
источник

И

Илья in Delphi & Lazarus
И только потом считать.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Timur
procedure TMainForm.UniDBGrid1SetCellValue(Sender: TObject; ACol,

 ARow: Integer; AField: TField; var Value: Variant);

begin

 self.UniDBGrid1.DataSource.DataSet.Edit;

 self.UniDBGrid1.DataSource.DataSet.FieldByName(self.UniDBGrid1.Columns.Items[Acol].FieldName).Value:=Value;

 self.UniDBGrid1.DataSource.DataSet.Post;

end;
к слову, лучше так: self.UniDBGrid1 > TUniDBGrid(Sender)
источник

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
к слову, лучше так: self.UniDBGrid1 > TUniDBGrid(Sender)
+++
источник

TC

Tom Cauf in Delphi & Lazarus
Народ, а есть опыт интеграции lua или python  в паскалевские программы?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Tom Cauf
Народ, а есть опыт интеграции lua или python  в паскалевские программы?
иди в @DelphiCommunity, там Мозулёв по Lua спец, вроде
источник

TC

Tom Cauf in Delphi & Lazarus
Alexey Shumkin
иди в @DelphiCommunity, там Мозулёв по Lua спец, вроде
Хм, послал так послал.  И главное по делу ведь...
источник