How can I add a SUM field? VBA (MS Access, Excell...)
With Grid1
.BeginUpdate
.Columns.Add("Numbers").SortType = 1
With .Items
.AddItem 1
.AddItem 2
.AddItem 3
.AddItem 4
h = .AddItem("sum(all,dir,dbl(%0))")
.SortableItem(h) = False
.CellValueFormat(h,0) = 4
.CellHAlignment(h,0) = 2
.FormatCell(h,0) = "'SUM: '+value"
End With
.EndUpdate
End With
VB6
With Grid1
.BeginUpdate
.Columns.Add("Numbers").SortType = SortNumeric
With .Items
.AddItem 1
.AddItem 2
.AddItem 3
.AddItem 4
h = .AddItem("sum(all,dir,dbl(%0))")
.SortableItem(h) = False
.CellValueFormat(h,0) = exTotalField
.CellHAlignment(h,0) = RightAlignment
.FormatCell(h,0) = "'SUM: '+value"
End With
.EndUpdate
End With
VB.NET
Dim h
With Exgrid1
.BeginUpdate()
.Columns.Add("Numbers").SortType = exontrol.EXGRIDLib.SortTypeEnum.SortNumeric
With .Items
.AddItem(1)
.AddItem(2)
.AddItem(3)
.AddItem(4)
h = .AddItem("sum(all,dir,dbl(%0))")
.set_SortableItem(h,False)
.set_CellValueFormat(h,0,exontrol.EXGRIDLib.ValueFormatEnum.exTotalField)
.set_CellHAlignment(h,0,exontrol.EXGRIDLib.AlignmentEnum.RightAlignment)
.set_FormatCell(h,0,"'SUM: '+value")
End With
.EndUpdate()
End With
VB.NET for /COM
Dim h
With AxGrid1
.BeginUpdate()
.Columns.Add("Numbers").SortType = EXGRIDLib.SortTypeEnum.SortNumeric
With .Items
.AddItem(1)
.AddItem(2)
.AddItem(3)
.AddItem(4)
h = .AddItem("sum(all,dir,dbl(%0))")
.SortableItem(h) = False
.CellValueFormat(h,0) = EXGRIDLib.ValueFormatEnum.exTotalField
.CellHAlignment(h,0) = EXGRIDLib.AlignmentEnum.RightAlignment
.FormatCell(h,0) = "'SUM: '+value"
End With
.EndUpdate()
End With
C++
/*
Copy and paste the following directives to your header file as
it defines the namespace 'EXGRIDLib' for the library: 'ExGrid 1.0 Control Library'
#import <ExGrid.dll>
using namespace EXGRIDLib;
*/
EXGRIDLib::IGridPtr spGrid1 = GetDlgItem(IDC_GRID1)->GetControlUnknown();
spGrid1->BeginUpdate();
((EXGRIDLib::IColumnPtr)(spGrid1->GetColumns()->Add(L"Numbers")))->PutSortType(EXGRIDLib::SortNumeric);
EXGRIDLib::IItemsPtr var_Items = spGrid1->GetItems();
var_Items->AddItem(long(1));
var_Items->AddItem(long(2));
var_Items->AddItem(long(3));
var_Items->AddItem(long(4));
long h = var_Items->AddItem("sum(all,dir,dbl(%0))");
var_Items->PutSortableItem(h,VARIANT_FALSE);
var_Items->PutCellValueFormat(h,long(0),EXGRIDLib::exTotalField);
var_Items->PutCellHAlignment(h,long(0),EXGRIDLib::RightAlignment);
var_Items->PutFormatCell(h,long(0),L"'SUM: '+value");
spGrid1->EndUpdate();
C++ Builder
Grid1->BeginUpdate();
Grid1->Columns->Add(L"Numbers")->SortType = Exgridlib_tlb::SortTypeEnum::SortNumeric;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
var_Items->AddItem(TVariant(1));
var_Items->AddItem(TVariant(2));
var_Items->AddItem(TVariant(3));
var_Items->AddItem(TVariant(4));
long h = var_Items->AddItem(TVariant("sum(all,dir,dbl(%0))"));
var_Items->set_SortableItem(h,false);
var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exTotalField);
var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exgridlib_tlb::AlignmentEnum::RightAlignment);
var_Items->set_FormatCell(TVariant(h),TVariant(0),L"'SUM: '+value");
Grid1->EndUpdate();
C#
exgrid1.BeginUpdate();
(exgrid1.Columns.Add("Numbers") as exontrol.EXGRIDLib.Column).SortType = exontrol.EXGRIDLib.SortTypeEnum.SortNumeric;
exontrol.EXGRIDLib.Items var_Items = exgrid1.Items;
var_Items.AddItem(1);
var_Items.AddItem(2);
var_Items.AddItem(3);
var_Items.AddItem(4);
int h = var_Items.AddItem("sum(all,dir,dbl(%0))");
var_Items.set_SortableItem(h,false);
var_Items.set_CellValueFormat(h,0,exontrol.EXGRIDLib.ValueFormatEnum.exTotalField);
var_Items.set_CellHAlignment(h,0,exontrol.EXGRIDLib.AlignmentEnum.RightAlignment);
var_Items.set_FormatCell(h,0,"'SUM: '+value");
exgrid1.EndUpdate();
JavaScript
<OBJECT classid="clsid:101EE60F-7B07-48B0-A13A-F32BAE7DA165" id="Grid1"></OBJECT>
<SCRIPT LANGUAGE="JScript">
Grid1.BeginUpdate();
Grid1.Columns.Add("Numbers").SortType = 1;
var var_Items = Grid1.Items;
var_Items.AddItem(1);
var_Items.AddItem(2);
var_Items.AddItem(3);
var_Items.AddItem(4);
var h = var_Items.AddItem("sum(all,dir,dbl(%0))");
var_Items.SortableItem(h) = false;
var_Items.CellValueFormat(h,0) = 4;
var_Items.CellHAlignment(h,0) = 2;
var_Items.FormatCell(h,0) = "'SUM: '+value";
Grid1.EndUpdate();
</SCRIPT>
C# for /COM
axGrid1.BeginUpdate();
(axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).SortType = EXGRIDLib.SortTypeEnum.SortNumeric;
EXGRIDLib.Items var_Items = axGrid1.Items;
var_Items.AddItem(1);
var_Items.AddItem(2);
var_Items.AddItem(3);
var_Items.AddItem(4);
int h = var_Items.AddItem("sum(all,dir,dbl(%0))");
var_Items.set_SortableItem(h,false);
var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField);
var_Items.set_CellHAlignment(h,0,EXGRIDLib.AlignmentEnum.RightAlignment);
var_Items.set_FormatCell(h,0,"'SUM: '+value");
axGrid1.EndUpdate();
X++ (Dynamics Ax 2009)
public void init()
{
COM com_Items;
anytype var_Items;
int h;
;
super();
exgrid1.BeginUpdate();
COM::createFromVariant(exgrid1.Columns().Add("Numbers")).SortType(1/*SortNumeric*/);
var_Items = exgrid1.Items(); com_Items = var_Items;
com_Items.AddItem(COMVariant::createFromInt(1));
com_Items.AddItem(COMVariant::createFromInt(2));
com_Items.AddItem(COMVariant::createFromInt(3));
com_Items.AddItem(COMVariant::createFromInt(4));
h = com_Items.AddItem("sum(all,dir,dbl(%0))");
com_Items.SortableItem(h,false);
com_Items.CellValueFormat(h,COMVariant::createFromInt(0),4/*exTotalField*/);
com_Items.CellHAlignment(h,COMVariant::createFromInt(0),2/*RightAlignment*/);
com_Items.FormatCell(h,COMVariant::createFromInt(0),"'SUM: '+value");
exgrid1.EndUpdate();
}
Delphi 8 (.NET only)
with AxGrid1 do
begin
BeginUpdate();
(Columns.Add('Numbers') as EXGRIDLib.Column).SortType := EXGRIDLib.SortTypeEnum.SortNumeric;
with Items do
begin
AddItem(TObject(1));
AddItem(TObject(2));
AddItem(TObject(3));
AddItem(TObject(4));
h := AddItem('sum(all,dir,dbl(%0))');
SortableItem[h] := False;
CellValueFormat[TObject(h),TObject(0)] := EXGRIDLib.ValueFormatEnum.exTotalField;
CellHAlignment[TObject(h),TObject(0)] := EXGRIDLib.AlignmentEnum.RightAlignment;
FormatCell[TObject(h),TObject(0)] := '''SUM: ''+value';
end;
EndUpdate();
end
Delphi (standard)
with Grid1 do
begin
BeginUpdate();
(IUnknown(Columns.Add('Numbers')) as EXGRIDLib_TLB.Column).SortType := EXGRIDLib_TLB.SortNumeric;
with Items do
begin
AddItem(OleVariant(1));
AddItem(OleVariant(2));
AddItem(OleVariant(3));
AddItem(OleVariant(4));
h := AddItem('sum(all,dir,dbl(%0))');
SortableItem[h] := False;
CellValueFormat[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exTotalField;
CellHAlignment[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.RightAlignment;
FormatCell[OleVariant(h),OleVariant(0)] := '''SUM: ''+value';
end;
EndUpdate();
end
VFP
with thisform.Grid1
.BeginUpdate
.Columns.Add("Numbers").SortType = 1
with .Items
.AddItem(1)
.AddItem(2)
.AddItem(3)
.AddItem(4)
h = .AddItem("sum(all,dir,dbl(%0))")
.SortableItem(h) = .F.
.CellValueFormat(h,0) = 4
.CellHAlignment(h,0) = 2
.FormatCell(h,0) = "'SUM: '+value"
endwith
.EndUpdate
endwith
dBASE Plus
local h,oGrid,var_Column,var_Items
oGrid = form.Activex1.nativeObject
oGrid.BeginUpdate()
// oGrid.Columns.Add("Numbers").SortType = 1
var_Column = oGrid.Columns.Add("Numbers")
with (oGrid)
TemplateDef = [Dim var_Column]
TemplateDef = var_Column
Template = [var_Column.SortType = 1]
endwith
var_Items = oGrid.Items
var_Items.AddItem(1)
var_Items.AddItem(2)
var_Items.AddItem(3)
var_Items.AddItem(4)
h = var_Items.AddItem("sum(all,dir,dbl(%0))")
// var_Items.SortableItem(h) = false
with (oGrid)
TemplateDef = [Dim var_Items,h]
TemplateDef = var_Items
TemplateDef = h
Template = [var_Items.SortableItem(h) = false]
endwith
// var_Items.CellValueFormat(h,0) = 4
with (oGrid)
TemplateDef = [Dim var_Items,h]
TemplateDef = var_Items
TemplateDef = h
Template = [var_Items.CellValueFormat(h,0) = 4]
endwith
// var_Items.CellHAlignment(h,0) = 2
with (oGrid)
TemplateDef = [Dim var_Items,h]
TemplateDef = var_Items
TemplateDef = h
Template = [var_Items.CellHAlignment(h,0) = 2]
endwith
// var_Items.FormatCell(h,0) = "'SUM: '+value"
with (oGrid)
TemplateDef = [Dim var_Items,h]
TemplateDef = var_Items
TemplateDef = h
Template = [var_Items.FormatCell(h,0) = "'SUM: '+value"]
endwith
oGrid.EndUpdate()
XBasic (Alpha Five)
Dim h as N
Dim oGrid as P
Dim var_Column as P
Dim var_Items as P
oGrid = topparent:CONTROL_ACTIVEX1.activex
oGrid.BeginUpdate()
' oGrid.Columns.Add("Numbers").SortType = 1
var_Column = oGrid.Columns.Add("Numbers")
oGrid.TemplateDef = "Dim var_Column"
oGrid.TemplateDef = var_Column
oGrid.Template = "var_Column.SortType = 1"
var_Items = oGrid.Items
var_Items.AddItem(1)
var_Items.AddItem(2)
var_Items.AddItem(3)
var_Items.AddItem(4)
h = var_Items.AddItem("sum(all,dir,dbl(%0))")
' var_Items.SortableItem(h) = .f.
oGrid.TemplateDef = "Dim var_Items,h"
oGrid.TemplateDef = var_Items
oGrid.TemplateDef = h
oGrid.Template = "var_Items.SortableItem(h) = False"
' var_Items.CellValueFormat(h,0) = 4
oGrid.TemplateDef = "Dim var_Items,h"
oGrid.TemplateDef = var_Items
oGrid.TemplateDef = h
oGrid.Template = "var_Items.CellValueFormat(h,0) = 4"
' var_Items.CellHAlignment(h,0) = 2
oGrid.TemplateDef = "Dim var_Items,h"
oGrid.TemplateDef = var_Items
oGrid.TemplateDef = h
oGrid.Template = "var_Items.CellHAlignment(h,0) = 2"
' var_Items.FormatCell(h,0) = "'SUM: '+value"
oGrid.TemplateDef = "Dim var_Items,h"
oGrid.TemplateDef = var_Items
oGrid.TemplateDef = h
oGrid.Template = "var_Items.FormatCell(h,0) = \"'SUM: '+value\""
oGrid.EndUpdate()
Visual Objects
local var_Items as IItems
local h as USUAL
oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Numbers")}:SortType := SortNumeric
var_Items := oDCOCX_Exontrol1:Items
var_Items:AddItem(1)
var_Items:AddItem(2)
var_Items:AddItem(3)
var_Items:AddItem(4)
h := var_Items:AddItem("sum(all,dir,dbl(%0))")
var_Items:[SortableItem,h] := false
var_Items:[CellValueFormat,h,0] := exTotalField
var_Items:[CellHAlignment,h,0] := RightAlignment
var_Items:[FormatCell,h,0] := "'SUM: '+value"
oDCOCX_Exontrol1:EndUpdate()
PowerBuilder
OleObject oGrid,var_Items
any h
oGrid = ole_1.Object
oGrid.BeginUpdate()
oGrid.Columns.Add("Numbers").SortType = 1
var_Items = oGrid.Items
var_Items.AddItem(1)
var_Items.AddItem(2)
var_Items.AddItem(3)
var_Items.AddItem(4)
h = var_Items.AddItem("sum(all,dir,dbl(%0))")
var_Items.SortableItem(h,false)
var_Items.CellValueFormat(h,0,4)
var_Items.CellHAlignment(h,0,2)
var_Items.FormatCell(h,0,"'SUM: '+value")
oGrid.EndUpdate()
Visual DataFlex
Procedure OnCreate
Forward Send OnCreate
Send ComBeginUpdate
Variant voColumns
Get ComColumns to voColumns
Handle hoColumns
Get Create (RefClass(cComColumns)) to hoColumns
Set pvComObject of hoColumns to voColumns
Variant voColumn
Get ComAdd of hoColumns "Numbers" to voColumn
Handle hoColumn
Get Create (RefClass(cComColumn)) to hoColumn
Set pvComObject of hoColumn to voColumn
Set ComSortType of hoColumn to OLESortNumeric
Send Destroy to hoColumn
Send Destroy to hoColumns
Variant voItems
Get ComItems to voItems
Handle hoItems
Get Create (RefClass(cComItems)) to hoItems
Set pvComObject of hoItems to voItems
Get ComAddItem of hoItems 1 to Nothing
Get ComAddItem of hoItems 2 to Nothing
Get ComAddItem of hoItems 3 to Nothing
Get ComAddItem of hoItems 4 to Nothing
Variant h
Get ComAddItem of hoItems "sum(all,dir,dbl(%0))" to h
Set ComSortableItem of hoItems h to False
Set ComCellValueFormat of hoItems h 0 to OLEexTotalField
Set ComCellHAlignment of hoItems h 0 to OLERightAlignment
Set ComFormatCell of hoItems h 0 to "'SUM: '+value"
Send Destroy to hoItems
Send ComEndUpdate
End_Procedure
XBase++
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:BeginUpdate()
oGrid:Columns():Add("Numbers"):SortType := 1/*SortNumeric*/
oItems := oGrid:Items()
oItems:AddItem(1)
oItems:AddItem(2)
oItems:AddItem(3)
oItems:AddItem(4)
h := oItems:AddItem("sum(all,dir,dbl(%0))")
oItems:SetProperty("SortableItem",h,.F.)
oItems:SetProperty("CellValueFormat",h,0,4/*exTotalField*/)
oItems:SetProperty("CellHAlignment",h,0,2/*RightAlignment*/)
oItems:SetProperty("FormatCell",h,0,"'SUM: '+value")
oGrid:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|