我毕业设计做一个管理系统,用Delphi+SQLServer2000,有两点问题:
1.我用ADOQuery做查询功能,将查询结果显示在dbgrid中,现想实现双击dbgrid中的某一条查询结果后就直接跳转到table数据集对应的记录,以便修改,请问这个功能如何实现。
2.我是在15寸显示器上设计的,设计好后最大化正好满屏,但我把编译好的管理系统拷贝到其它的15寸显示器电脑上运行,会出现所有的MDI窗体最大化后都超出满屏,在边上出现滚动条。
请大虾个为我指点指点怎么解决上述两个问题,感激不尽,高分相送!

解决方案 »

  1.   

    在FormCreate中加入下面的代码可以
    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.   

    1。2个ado(table或query),一个设为master
    2。不知道
      

  3.   

    我用ADOQuery做查询功能,将查询结果显示在dbgrid中,现想实现双击dbgrid中的某一条查询结果后就直接跳转到table数据集对应的记录,以便修改,请问这个功能如何实现。
    可以在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;
      

  4.   

    2.我是在15寸显示器上设计的,设计好后最大化正好满屏,但我把编译好的管理系统拷贝到其它的15寸显示器电脑上运行,会出现所有的MDI窗体最大化后都超出满屏,在边上出现滚动条。
    请大虾个为我指点指点怎么解决上述两个问题,感激不尽,高分相送!
    这个主要可分辨率有关,可以通过设置窗口属性和窗口上的控件属性来完成
      

  5.   

    1:直接双击某条记录的时候,得到该记录的一个唯一的ID,然后用Locate()函数查询,即可在DBGrid里直接定位该条记录。
    比如:你单击一条记录:01,(唯一ID)  张三     男    党员   DBGrid的双击事件里:
    with Table  do
      begin
        Locate('字段名', VarArrayOf(['你得到的唯一ID']), [loPartialKey]);
      end;Form.close;(ADOQuery查询的面板关闭)
    2:可能是显示器设置的象素问题,建议你在设计程序的时候,把窗体的Width,Height都事先设置好。
      

  6.   

    非常感谢各位的关注,特别感谢zxgcl0103(流金岁月),我用你说的方法已经完成解决了此问题
      

  7.   

    问题2可能是你设计窗口时采用的字符集不对引起的,在form中设计Font建议选择宋体、小五号、字符集选择GB2312