Componentes.Terceros.DevExp.../official/x.38/ExpressMasterView/Demos/Delphi/RunTimeStyles/main.pas
2008-08-27 11:56:15 +00:00

130 lines
4.2 KiB
ObjectPascal

unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
dxMasterView, Db, DBTables, StdCtrls, ExtCtrls, Spin;
type
TfmMain = class(TForm)
MasterView: TdxMasterView;
Table1: TTable;
DataSource1: TDataSource;
Level1: TdxMasterViewLevel;
dxMasterView1Level1OrderNo: TdxMasterViewColumn;
dxMasterView1Level1CustNo: TdxMasterViewColumn;
dxMasterView1Level1SaleDate: TdxMasterViewColumn;
dxMasterView1Level1ShipDate: TdxMasterViewColumn;
dxMasterView1Level1EmpNo: TdxMasterViewColumn;
dxMasterView1Level1ShipToContact: TdxMasterViewColumn;
dxMasterView1Level1ShipToAddr1: TdxMasterViewColumn;
dxMasterView1Level1ShipToAddr2: TdxMasterViewColumn;
dxMasterView1Level1ShipToCity: TdxMasterViewColumn;
dxMasterView1Level1ShipToState: TdxMasterViewColumn;
dxMasterView1Level1ShipToZip: TdxMasterViewColumn;
dxMasterView1Level1ShipToCountry: TdxMasterViewColumn;
dxMasterView1Level1ShipToPhone: TdxMasterViewColumn;
dxMasterView1Level1ShipVIA: TdxMasterViewColumn;
dxMasterView1Level1PO: TdxMasterViewColumn;
dxMasterView1Level1Terms: TdxMasterViewColumn;
dxMasterView1Level1PaymentMethod: TdxMasterViewColumn;
dxMasterView1Level1ItemsTotal: TdxMasterViewColumn;
dxMasterView1Level1TaxRate: TdxMasterViewColumn;
dxMasterView1Level1Freight: TdxMasterViewColumn;
dxMasterView1Level1AmountPaid: TdxMasterViewColumn;
Style1: TdxMasterViewStyle;
GroupStyle1: TdxMasterViewStyle;
GroupStyle2: TdxMasterViewStyle;
GroupStyle3: TdxMasterViewStyle;
Style2: TdxMasterViewStyle;
plBottom: TPanel;
GroupBox1: TGroupBox;
chbPaymantMethod: TCheckBox;
cmbPaymentMethod: TComboBox;
GroupBox2: TGroupBox;
chbAmountPaid: TCheckBox;
sedAmountPaid: TSpinEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Level1GetGroupStyle(Sender: TdxMasterViewLevel;
Node: TdxMasterViewNode; Column: TdxMasterViewColumn;
var NewStyle: TdxMasterViewStyle);
procedure Level1GetContentStyle(Sender: TdxMasterViewLevel;
Node: TdxMasterViewNode; Column: TdxMasterViewColumn;
var NewStyle: TdxMasterViewStyle);
procedure chbPaymantMethodClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure dxMasterView1Level1AmountPaidGetContentStyle(
Sender: TdxMasterViewColumn; Node: TdxMasterViewNode;
var NewStyle: TdxMasterViewStyle);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
{$R *.DFM}
procedure TfmMain.Level1GetGroupStyle(Sender: TdxMasterViewLevel;
Node: TdxMasterViewNode; Column: TdxMasterViewColumn;
var NewStyle: TdxMasterViewStyle);
begin
case Node.GroupIndex of
0: NewStyle := GroupStyle1;
1: NewStyle := GroupStyle2;
2: NewStyle := GroupStyle3;
else
NewStyle := Style1;
end
end;
procedure TfmMain.Level1GetContentStyle(Sender: TdxMasterViewLevel;
Node: TdxMasterViewNode; Column: TdxMasterViewColumn;
var NewStyle: TdxMasterViewStyle);
var
ColInd: Integer;
begin
ColInd := dxMasterView1Level1PaymentMethod.Index;
if chbPaymantMethod.Checked then
if Node.NodeType = ntData then
if (Node.Strings[ColInd] = cmbPaymentMethod.Text) then
NewStyle := Style2;
end;
procedure TfmMain.chbPaymantMethodClick(Sender: TObject);
begin
MasterView.Invalidate;
end;
procedure TfmMain.FormCreate(Sender: TObject);
begin
cmbPaymentMethod.ItemIndex := 0;
dxMVGroupByBoxText := 'Group several columns to receive a new style for each grouped node';
end;
procedure TfmMain.dxMasterView1Level1AmountPaidGetContentStyle(
Sender: TdxMasterViewColumn; Node: TdxMasterViewNode;
var NewStyle: TdxMasterViewStyle);
begin
if chbAmountPaid.Checked then
if Node.NodeType = ntData then
if ((Node.Values[Sender.Index]) > sedAmountPaid.Value) then
NewStyle := Style1;
end;
procedure TfmMain.Button2Click(Sender: TObject);
begin
MasterView.Customizing := true;
end;
end.