1 (edited by adiziktdy 2018-03-23 11:03:29)

Topic: [Решено] Как правильно реализовать подсчёт логических полей в таблице?

Всем привет.

Сделала итоги в TableGrid через "Настройку" - Sum. С числовыми полями всё нормально, а тип Boolean не подсчитывается (хотя физически в базе значения 0 или 1)

https://c.radikal.ru/c09/1803/f6/16a85e0845e2.jpg

Направьте, пожалуйста, в правильном направлении.

Yana

Re: [Решено] Как правильно реализовать подсчёт логических полей в таблице?

Привет.


Можно посчитать скриптом

procedure Form1_TableGrid1_OnChange (Sender: string);
var
   i,c,q: integer;
   iValue: double;
begin
     q := 0;
     c := Form1.TableGrid1.RowCount - 1;
     for i := 0 to c do
     begin
             iValue := Form1.TableGrid1.Cell[0, i].AsInteger;
             if iValue = 1 then Inc(q);
     end;

     Form1.TableGrid1.Columns[0].Footer.Caption := IntToStr(q);
end;


begin
    Form1.TableGrid1.Options := Form1.TableGrid1.Options + goFooter;
end.
Dmitry.

Re: [Решено] Как правильно реализовать подсчёт логических полей в таблице?

DriveSoft wrote:

Привет.


Можно посчитать скриптом

Спасибо! Сейчас попробую.

Yana

Re: [Решено] Как правильно реализовать подсчёт логических полей в таблице?

Отлично работает. Ещё раз сэнкс smile

Yana

5 (edited by derek 2018-03-23 16:24:16)

Re: [Решено] Как правильно реализовать подсчёт логических полей в таблице?

Эй Адзити,
Способ сделать что-то подобное без скрипта - нажмите на флажки, чтобы увидеть разные варианты.
Возможно, это тоже полезно для вас.
Derek

Post's attachments

Attachment icon adizidkty checkbox counts.zip 338.75 kb, 372 downloads since 2018-03-23 

Re: [Решено] Как правильно реализовать подсчёт логических полей в таблице?

derek wrote:

Эй Адзити,
Способ сделать что-то подобное без скрипта - нажмите на флажки, чтобы увидеть разные варианты.
Возможно, это тоже полезно для вас.
Derek

Thanks, Derek! smile

Я обязательно воспользуюсь Вашим советом при случае. Но сейчас мне нужны итоги по всем полям типа Bool одновременно для создания отчёта.

Ещё раз спасибо.

Yana