如何做出象OFFICE中"选项"中的那种有多页的效果,DELPHI中只有TpageControl,不能做到那种多页的效果呀!
还有就是在Tdbgrid中或在类似Tdbgrid的表格中进行直接输入要查询的数据,则Tdbgrid进行自动排序,自动进行查询!使指针指向该数据项!
多谢!
yahoo messenger :lovelyman_gold

解决方案 »

  1.   

    pagecontrol就可以啊
    MultiLine = True
      

  2.   

    原来是这样的呀,只要一个属性就可以了,多谢!
    别外,还有一点儿要您指导一下呀,我前几天看到香港那边儿的一个公司的程序,它的查询极为方便,具体是这样的:只要用把鼠标单击一下似TstringGrid(假如有a,b,c,d四字段,即a,b,c,d列)或Tdbgrid的表格的任意一列(a,b,c,d)处,在键盘上直接输入要找的数据,些grid就会自动排序grid中显示的数据,并把指针指向刚输入的数据项处.不知上面的描述你听懂了没有?如果没有懂的话,可以
    aol:delphisunlight
    yahoo messenger:lovelyman_gold
      

  3.   

    var
      SearchStr: String ;procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
         ADOTable1.Sort := Column.FieldName ;
         SearchStr := '' ;
    end;procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
         case Key of
           33..127:
             begin
             SearchStr := SearchStr + Chr(Key) ;
             ADOTable1.Locate(DBGrid1.SelectedField.FieldName, SearchStr, [loCaseInsensitive, loPartialKey])
             end ;
           VK_ESCAPE:
             begin
             SearchStr := '' ;
             end ;
           else
             begin         end ;
           end ;//of caseend;
      

  4.   

    我试了一下:
    [code]
        case Key of
           33..127:
             begin
             SearchString := SearchString + Chr(Key) ;
             datamodule2.ADODataSet1.Locate(DBGrid1.SelectedField.FieldName, SearchString, [loPartialKey])
             end ;
           VK_ESCAPE:
             begin
             SearchString := '' ;
             end ;
           else
             begin         end ;
           end ;//of case
    [/code]
    如果A字段的数据较长,那它就会停在第一笔数据了,不会查找,
    最严重的就是它在我输入数据查过一次后,不能再进行第二次自动输入数据查找!
      

  5.   

    可以啦!原来你的代码是正确的!实在多谢呀!
    但当我选中一个CELL时,它会自动跳到第一笔,能不能使它不要跳到那个第一笔呀?
    给分啦!
      

  6.   

    我试了一下,但另的事件下都没有定义的clumn呀!在别的事件中写不了上面的ADOTable1.Sort := Column.FieldName ;
                            SearchStr := '' ;
    代码呀!