比如SELECT A,B,C,D FROM BOOK ,如何只在DBGRID上显示A,B,C,将D这个字段不用在DBRGID上显示。

解决方案 »

  1.   

    呵呵,当然可以.设计时在Grid自己定义列.动态也可以,但较为麻烦.
      

  2.   

    由于是动态SELECT出来的,所以不知如何实现
      

  3.   

    假如你显示的是AdoQuery1,右击这个控件,选择Fields Editor...,只把A,B,C选上就行了
      

  4.   

    假如你显示的是AdoQuery1,右击这个控件,选择Fields Editor...,只把A,B,C选上就行了动态SELECT出来的视图,在设计期如何选择字段呢?
      

  5.   

    先把adoquery1的sql精简,如‘select * from aaa’,然后adoquery1的activ属性设成true,双击adoquery,这个时候你就挑你想留下来的
      

  6.   

    先把adoquery1的sql精简,如‘select * from aaa’,然后adoquery1的activ属性设成true,双击adoquery,这个时候你就挑你想留下来的
      

  7.   

    先把adoquery1的sql精简,如‘select * from aaa’,然后adoquery1的activ属性设成true,双击adoquery,会跳出一个Editing Dbgrid columns ,新建几个,然后从左边的属性栏的fieldname中选你想留下来的,运行,,就ok
      

  8.   

    直接双击dbgrid,add all field ,然后去掉你不需要的字段
      

  9.   

    hnhb(不死鸟)     正确
      

  10.   

    1,select 需要的字段 from table
    2,dbgrid的columns属性初始化要显示的字段
      

  11.   

    动态显示字段,我做过的一段程序:
    //TDisp_tital是一个二维数组,内容是('网格标题','字段名'),把要显示的字段定义进去
    //Grid_search_result是一个DBGridEh控件
    //ADO_search是打开数据库的ADOQueryprocedure SC_result_Display(var display_name:TDisp_tital);
    var
      _column:TColumnEh;
      I,J:Integer;
    begin
      Grid_search_result.Columns.Clear;
      For I:=0 to ADO_search.Fields.Count-1 do
      begin
         For J:=0 to High(display_name[0]) do
         begin
           if ADO_search.Fields[I].FieldName=display_name[1,J] then
           begin
             _column:=Grid_search_result.Columns.Add;
             _column.FieldName:=display_name[1,J];
             _column.Title.Caption:=display_name[0,J];
              _column.Title.Alignment:=taCenter;
              _column.Title.TitleButton:=True;
             _column.Width:=100;
             if I=0 then
             begin
               _column.Footer.Create(nil);
               _column.Footer.Alignment:=taRightJustify;
               _column.Footer.ValueType:=fvtStaticText;
               _column.Footer.Value:='共检索到记录';
               _column.Footer.Font.Color:=clBlue;
             end;
             if I=1 then
             begin
               _column.Footer.Create(nil);
                _column.Footer.Alignment:=taLeftJustify;
               _column.Footer.ValueType:=fvtStaticText;
               _column.Footer.Value:=IntToStr(ADO_search.recordcount)+'条';
               _column.Footer.Font.Color:=clBlue;
             end;
             break;
           end;
         end;
      end;
    end;