Jump to content

uniDBGrid Summary


x11

Recommended Posts

Не могу понять, что я делаю не так.

Нужно просто показать общую сумму в колонке.

procedure TfmMain.dbgPurchasesColumnSummaryResult(Column: TUniDBGridColumn; GroupFieldValue: Variant;
  Attribs: TUniCellAttribs; var Result: string);
Var
  v: variant;
begin

  if SameText(Column.FieldName, 'SUMA') or SameText(Column.FieldName, 'KEYS_QUANTITY') then
  begin
    v := Column.AuxValue;
    if not VarIsNull(v) then
      result := v;
  end;

end;

условие выполняется, но суммы пустые

 

У колонок свойство Summary включено, у сетки - тоже.

Что я еще забыл?

В качестве набора данных использую DevArt uniDAC (TUniQuery)

Спасибо.

Screenshot_5.jpg

Screenshot_6.jpg

Screenshot_7.jpg

Link to comment
Share on other sites

Я думал, что сетка сама умеет суммировать :(

 

ок, добавил код

procedure TfmMain.dbgPurchasesColumnSummary(Column: TUniDBGridColumn; GroupFieldValue: Variant);
begin
  if SameText(Column.FieldName, 'SUMA') or SameText(Column.FieldName, 'KEYS_QUANTITY') then
  begin
    if VarIsNull(Column.AuxValue) then Column.AuxValue := 0;
    Column.AuxValue := Column.AuxValue + Column.Field.AsInteger;
  end;
end;

все равно пусто

на что еще нужно обратить внимание?

Screenshot_13.jpg

Link to comment
Share on other sites

Вот что я забыл сказать. Я использую сетку CustomDBGrid из этой темы

http://forums.unigui.com/index.php?/topic/11857-grid-filters-list/&tab=comments#comment-63164

Т.к.  вы не добавили в стандартную uniDBGrid сетку функционал Filters из extJS, приходится использовать это.

Может быть вы подскажите, как использовать функционал Filters из extJS в стандартной uniDBGrid сетке? Чтобы не использовать CustomDBGrid.

Я пробовал и у меня не получилось.

CustomDBGridFilter.rar

Link to comment
Share on other sites

1 hour ago, x11 said:

Я пробовал и у меня не получилось.

CustomDBGridFilter.rar 3.64 kB · 0 downloads

procedure TMainForm.UniFormCreate(Sender: TObject);
var
  i:integer;
begin
  for i := 0 to Pred(UniFilterDBGrid1.Columns.Count) do
    TUniFilterDBGridColumn(UniFilterDBGrid1.Columns[i]).Filter:='list';
end;

 

Link to comment
Share on other sites

16 minutes ago, x11 said:

Вы не поняли. Я имел ввиду обычный стандартный uniDBGrid. Как в него добавить фильтры?

1. UniDBGrid

2. 

function afterrender(sender, eOpts)
{
    sender.addPlugin('gridfilters');
}

3.

function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts)
{
    columns[0].filter = {type: 'list'};
}
  • Like 1
Link to comment
Share on other sites

Попробую. Спасибо.

Функционал с фильтрами очень удобный. Почему вы не хотите это добавить в стандартный функционал TuniDBGrid? Просто интересно.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...