局部变量 怎么调用???(50分)

  • 主题发起人 主题发起人 bozhilong
  • 开始时间 开始时间
B

bozhilong

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TFmRCAP_ALL.DBGridEh1GetFooterParams(Sender: TObject
DataCol,
Row: Integer
Column: TColumnEh
AFont: TFont
var Background: TColor;
var Alignment: TAlignment
State: TGridDrawState
var Text: String);
begin

if (Column.Field.FieldName = '金额') then
Text := '共【 ' + Text + ' 】元' ;
end;

procedure TFmRCAP_ALL.ToolButton3Click(Sender: TObject);
begin
if ToolButton3.Caption = '保存' then
begin
if Application.MessageBox('确认保存清单', '提示', MB_OKCANCEL +
MB_ICONQUESTION + MB_DEFBUTTON2) = IDOK then
begin

FMData.ADOBX.Append;
FMData.ADOBX.FieldValues['日期'] := FmRCAP_DXXG.DateTimePicker1.Date;
FMData.ADOBX.FieldValues['说明'] := FmRCAP_DXXG.Edit1.Text;
FMData.ADOBX.FieldValues['金额'] := Text // 就是上面那个局部变量,怎么调用?
FMData.ADOBX.FieldValues['操作员'] := Form1.StatusBar1.Panels[0].Text;
FMData.ADOBX.Post;

end else Exit;

if Application.MessageBox('是否打印清单', '提示', MB_OKCANCEL +
MB_ICONQUESTION + MB_DEFBUTTON2) = IDCANCEL then
begin
Exit;
end;
end;

PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]);
PrintDBGridEh1.Preview;

end;
 
可以在第一个方法中得到Text后立即用全局变量Text2存放,在别的地方使用。
也可以在DBGridEh1内部遍历各个Column对应的单元格,根据Field.FieldName提取对应文
本。
 
可以在第一个方法中得到Text后立即用全局变量Text2存放,在别的地方使用。
不行,procedure TFmRCAP_ALL.DBGridEh1GetFooterParams 好象是时时的,用全局变量就报错

也可以在DBGridEh1内部遍历各个Column对应的单元格,根据Field.FieldName提取对应文
本。
TEXT是底部出现的,用Column对应的单元格 不知道怎么找。
能帮我写好吗?
 
难道没有人会吗?
 
抱歉,我没装这个控件。不过我建议你在事件中设置断点,成功中断后用Ctrl+Alt+S定位
到控件源码内的调用该事件的过程,看看它传入的最后一个Text参数是到底怎么得到的(或
者,搞清楚最终用到哪里去也行)。
 
DBGridEH这个控件应该有个GetFooterValue方法吧
应该能得到footer的值,但效率上可能会慢点
 
后退
顶部