我在主窗体(FormMain)中用DBGIRD显示若干条记录,现在我希望能双击某一行记录,能弹出个新窗体(FormShow)的详细信息。记录的标识,我在当前窗体已经读到,请问,怎么样,把这个记录标识传到我所要的新窗体里?我已经定义了一个public变量StuID(String类型),而且两边都USES了,但编译时总会出错,错误是在新窗体FormShow.pas里,说没有定义变量StuID。我试过多种办法都得不到解决,还望高手指点。感激~
解决方案 »
- 求Delphip写一个连接数据库,获取某表中的一个值
- DLL 不能修改在 BPL 中的全局变量吗?
- try--except异常处理问题
- 请教:如何用程序自动区分一个IP地址是外网IP还是内网IP地址??
- 有没有人用过reportbuilder做报表????
- sql语句为何执行不了?????
- 懂消息机制的高手!!
- 忍不住,要强烈谴责西安的这一家公司。。。。。。
- 含有(group by)的Sql语句dbgrid不显示分组字段吗?
- 执行线程时引发“因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫”的错误提示!!
- 动态表的问题,帮帮忙呀,好急!!
- 高手还在吗------关注!!!!!!!!!!!!当场给分
function ShowData(ID: Integer): Boolean;如下实现:
begin
LoadData(ID); 将数据库中的信息载入到界面上
result:=ShowModal=mrOK;
end;在formMain中的双击中写如下代码:
begin
form2.ShowData(ID);
end;
怎么样载入到界面?谢谢
Dhs := DbGridEh1.SelectedField.AsString;
在当前窗体,Dhs里有值,但在新窗体里调用时,值是空。不知道是怎么回事?
Dhs := DbGridEh1.SelectedField.AsString;
with TForm2.Create(Application) do
begin
ShowModal;
end;Unit2 : TForm2.FormCreate : with ADOQuery1 do
begin
Close;
Sql.Text := Trim(s) + ' where yhspc_lsh = ''' + Dhs + '''';
Open;
end ;
procedure TFormMain.DBGridMainDblClick(Sender: TObject);
begin
StuShowID:=DBGridMain.DataSource.DataSet.FieldByName('StuId').asstring;
//Edit00.Text:= StuShowID;
FormStuShow.ShowModal;end;新窗体的:
procedure TFormStuShow.FormCreate(Sender: TObject);
begin
EditTest.Text:= StuShowID; //运行后,这里Edit里的文本显示为空:(
//EditTest.Text:= '999';
end;
算了,就这么结吧,我再看看,想想其他办法,你有QQ/ICQ吗?
有机会还想再向你请教