国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

DBGridEh用法總結二(PivotGrid的使用)

2019-11-11 04:04:41
字體:
來源:轉載
供稿:網友

1、  之前的程序中實現分組編譯都是動態生成SQL語句,到服務器執行,然后顯示結果。現在用PivotGridEh,太方便了。但是在測試過程中費了不少勁,自帶的例子很正常。經過代碼跟蹤,發現是字段的Required應該設置為false即可。解決辦法

要修改單元PivotGridEh中4個過程,分別是:

    PRocedure MakeColsTable;

    procedure MakeInverseGaussMatrix;

    procedure MakeResultAggrTable;

    procedure MakeRowsTable;

在數據集打開之后,設置字段屬性Required := false;

如下:

  ColsTable.Open;

  for I := 0 to ColsTable.FieldCount - 1 do

    ColsTable.Fields[i].Required := False;

其它幾個過程參照上面代碼修改。

2、  給PivotGridToolBoxEh設置排列樣式

在基類TCustomPivotGridToolBoxEh 的Create事件中添加如下代碼以創建右鍵菜單。

  FBuJuPM := TPopupMenu.Create(Self);

  FBuJuOne := TMenuItem.Create(FBuJuPM);

  FBuJuOne.Tag := 0;

  FBuJuOne.Caption := '上下排列';

  FBuJuOne.RadioItem := True;

  FBuJuOne.Checked := True;

  FBuJuOne.OnClick := self.BuJuPMClick;

  FBuJuPM.Items.Add(FBuJuOne);

  FBuJuTwo := TMenuItem.Create(FBuJuPM);

  FBuJuTwo.Tag := 1;

  FBuJuTwo.Caption := '左右排列';

  FBuJuTwo.RadioItem := True;

  FBuJuTwo.OnClick := self.BuJuPMClick;

  FBuJuPM.Items.Add(FBuJuTwo);

  self.PopupMenu :=FBuJuPM;

右鍵菜單事件代碼:

procedure TCustomPivotGridToolBoxEh.BuJuPMClick(Sender:TObject);

var

  tmpMI: TMenuItem;

begin

  tmpMI := TMenuItem(Sender);

  if tmpMI.Tag = 0 then

  begin

    FSplitter.SetBounds(0,10,2,8);

    FPivotDataPanel.Align := alBottom;

    FSplitter.Align := alBottom;

    FFieldListPanel.Align := alClient;

    self.Width := self.Width div 2;

  end

  else

  begin

    FSplitter.SetBounds(0,10,2,10);

    FPivotDataPanel.Align := alRight;//alBottom;

    FSplitter.Align := alRight;//alBottom;

    FFieldListPanel.Align := alClient;

    self.Width := self.Width * 2;

  end;

  tmpMI.Checked :=True;

end;

3、  增加樣式屬性

property BuJuCols: Integer read FBuJuCols write SetBujuColsdefault 1;

1=默認的一列樣式,2=兩列顯示,這樣字段比較多時,可以顯示更多的字段以方便操作。

事件代碼如下:

procedureTCustomPivotGridToolBoxEh.SetBujuCols(const Value: Integer);

begin

  FBuJuCols := Value;

  if Value = 1 then

    BuJuPMClick(FBuJuOne)

  else

    BuJuPMClick(FBuJuTwo);

end;
上一篇:1008: FBI樹

下一篇:文章標題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 恭城| 改则县| 柯坪县| 鄄城县| 攀枝花市| 博野县| 海口市| 泰安市| 沈阳市| 茂名市| 西安市| 唐海县| 昌黎县| 栾城县| 东丰县| 吉林省| 孙吴县| 静海县| 华池县| 罗平县| 武汉市| 朔州市| 喀什市| 萨迦县| 社旗县| 阳原县| 蒙阴县| 娄烦县| 穆棱市| 收藏| 鄢陵县| 松潘县| 赤水市| 长沙市| 来宾市| 会昌县| 恭城| 手机| 集贤县| 蓬溪县| 象山县|