我毕业设计做一个管理系统,用Delphi+SQLServer2000,有两点问题:
1.我用ADOQuery做查询功能,将查询结果显示在dbgrid中,现想实现双击dbgrid中的某一条查询结果后就直接跳转到table数据集对应的记录,以便修改,请问这个功能如何实现。
2.我是在15寸显示器上设计的,设计好后最大化正好满屏,但我把编译好的管理系统拷贝到其它的15寸显示器电脑上运行,会出现所有的MDI窗体最大化后都超出满屏,在边上出现滚动条。
请大虾个为我指点指点怎么解决上述两个问题,感激不尽,高分相送!
1.我用ADOQuery做查询功能,将查询结果显示在dbgrid中,现想实现双击dbgrid中的某一条查询结果后就直接跳转到table数据集对应的记录,以便修改,请问这个功能如何实现。
2.我是在15寸显示器上设计的,设计好后最大化正好满屏,但我把编译好的管理系统拷贝到其它的15寸显示器电脑上运行,会出现所有的MDI窗体最大化后都超出满屏,在边上出现滚动条。
请大虾个为我指点指点怎么解决上述两个问题,感激不尽,高分相送!
解决方案 »
- 如何编写软件来配置Ftp站点?
- 钩子问题,简单得等于送分
- 急、急、急:能否将TreeView中的某个节点隐藏起来?
- 无法理解的问题!贴出我的代码!~!~,最常用的,最简单的功能,尽然有错?
- 请问哪里有ACReport报表编辑器下载啊?急用?在线等
- ★★★CSDN结贴联盟第1次信誉提问!!★★★
- 一份求职信!!!求斑竹别删,还有几天就要离校了,还没有找到工作。
- 如何得到当前显示的鼠标光标的句柄和鼠标光标的热点?
- 发现REDHAT 7.2(专业版9CD)里有KYLIX !!!
- 一个关于MaskEdit的问题?
- 那位高手真正解决 caant make a visible window modal
- 怎么编“识别科学记数法的自定义函数”,高手救急啊。。。。
var
OldFormWidth:integer;
begin
if screen.Width <> screenwidth then
begin
oldformwidth:=Self.Width;
Self.Height:=longint(Self.Height) * longint(screen.height) div ScreenHeigth;
Self.Width:=longint(Self.Width) * longint (screen.width) div screenwidth;
scaleby(screen.Width,screenwidth);
self.Font.Size:=(Self.Width div OldFormWidth) * Font.Size;
end;
end;
2。不知道
可以在TABLE数据库或别的数据集的afterscroll(滚动后事件)中
假如代码
begin
with dataSet do
begin
edit1.Text := FieldByName('Field1').AsString;
edit2.Text := FieldByName('Field2').AsString;
.......
end;
end;
可以在[修改]按钮和[增加]按钮中用TABLE1.EDIT;或TABLE1。APPEND;
在[保存]按钮中
with table1 do
begin
FieldByName('Field1').AsString := edit1.Text;
FieldByName('Field2').AsString := edit2.Text;
.......
try
Post;
//设置edit1,edit2....不可用,dbgrid1,[修改]按钮和[增加]按钮.......可用
except
//错误处理程序
end;
end;
请大虾个为我指点指点怎么解决上述两个问题,感激不尽,高分相送!
这个主要可分辨率有关,可以通过设置窗口属性和窗口上的控件属性来完成
比如:你单击一条记录:01,(唯一ID) 张三 男 党员 DBGrid的双击事件里:
with Table do
begin
Locate('字段名', VarArrayOf(['你得到的唯一ID']), [loPartialKey]);
end;Form.close;(ADOQuery查询的面板关闭)
2:可能是显示器设置的象素问题,建议你在设计程序的时候,把窗体的Width,Height都事先设置好。