刚接触delpji,麻烦老师们指点下 谢谢。VB是在哪个过程都可以使用CALL的,怎么这里就不行了。procedure TForm1.Button3Click(Sender: TObject);
begin
MakeDBGridColumnsAutoFixItsWidth(DBGrid1);
abc(DBGrid1);
end;
这个就可以通过,但是放在下面的过程就不行。请问为什么啊。procedure TForm1.Button1Click(Sender: TObject);
begin ADOQuery1.Close;
ADOQuery1.sql.text := 'select * from t_user';
ADOQuery1.open;MakeDBGridColumnsAutoFixItsWidth(DBGrid1); //怎么在这里就不可以呢?
abc(DBGrid1); //dbgrid1.readonly := true;
end;
begin
MakeDBGridColumnsAutoFixItsWidth(DBGrid1);
abc(DBGrid1);
end;
这个就可以通过,但是放在下面的过程就不行。请问为什么啊。procedure TForm1.Button1Click(Sender: TObject);
begin ADOQuery1.Close;
ADOQuery1.sql.text := 'select * from t_user';
ADOQuery1.open;MakeDBGridColumnsAutoFixItsWidth(DBGrid1); //怎么在这里就不可以呢?
abc(DBGrid1); //dbgrid1.readonly := true;
end;
解决方案 »
- SQL毫秒转成时间
- 如何用delphi封装Asp控件产生记录集,并被jscript调用???
- 请问!!!
- 斑竹兄弟们一定要救命啊,QRDBRichtext里怎么老是在报表title下部分显示不了大字段的,移到上部分又行的?我快不行拉。。
- 简单的数值问题,我是不会,不知道大家会不?
- 高手帮忙一delphi问题
- 紧急求救:Delphi 5企业版的下载网址
- 如何取得listbox中被选中的items?
- 请问高手,为什么要用到stdcall,stdcall是什么意思,不胜感激
- xe7 android程序太大,如何解决?
- 在DELPHI中怎么使用TClientDataSet控件建立和firebird数据库的连接
- 请教变量问题
abc(DBGrid1);
这2个是一个函数过程,让DBGrid1自动列宽和居中的过程,我在按钮2呼用就可以通过,但是放在加载数据库到DBGrid1后呼用就不可以了?
function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 15): Boolean;
var
I: Integer;
begin
Result := False;
if not Assigned(mDBGrid) then
Exit;
if not Assigned(mDBGrid.DataSource) then
Exit;
if not Assigned(mDBGrid.DataSource.DataSet) then
Exit;
if not mDBGrid.DataSource.DataSet.Active then
Exit;
for I := 0 to mDBGrid.Columns.Count - 1 do
begin
if not mDBGrid.Columns[I].Visible then
Continue;
DBGridRecordSize(mdbgrid.Columns[i]);
if Assigned(mDBGrid.Columns[I].Field) then
mDBGrid.Columns[I].Width := Max(mDBGrid.Columns[I].Field.Tag,
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
else
mDBGrid.Columns[I].Width :=
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + mOffset;
mDBGrid.Refresh;
// Application.ProcessMessages;
end;
Result := True;
end; { DBGridAutoSize }
给MakeDBGridColumnsAutoFixItsWidth加个断点看一下执行了么.
代码看不出错误, 估计是MakeDBGridColumnsAutoFixItsWidth有判断条件之类的
beginDBGridAutoSize(DBGrid1,15);
//MakeDBGridColumnsAutoFixItsWidth(DBGrid1);
abc(DBGrid1);
end;