MEMO字段内容太多,在表格中放不下,所以DBGRID没有这项功能。

解决方案 »

  1.   

    用dbctrlgrid,自己放dbmemo到上面 
      

  2.   

    //在你的程序中添加以下代码
    interfacetype
      TMainForm = class(TForm)
      //....
      //....
      private
        procedure DoOnShowTextField(Sender: TField; var Text: string;
          DisplayText: Boolean);    
        procedure SetTextFieldEvent(const ADatSet: TBDEDataSet);
      //....
      //....
      end;implementationprocedure TMainForm.DoOnShowTextField(Sender: TField; var Text: string;
      DisplayText: Boolean);
    begin
      Text := Sender.AsString;
    end;procedure TMainForm.SetTextFieldEvent(const ADatSet: TBDEDataSet);
    var
      i: integer;
    begin
      with ADatSet do
      begin
        DisableControls;
        try
          for i := 0 to Fields.Count - 1 do
            if Fields[i] is TMemoField then
              Fields[i].OnGetText := DoOnShowTextField;
        finally
          EnableControls;
        end;
      end;
    end;//然后在相应的数据集的AfterOpen事件中调用 SetTextFieldEvent(数据集);