如何将Dbmemo植入Dbgrid中

解决方案 »

  1.   

    初始工作
    加一个dbmemo,设置其属性visible为true,datasource与dbgrid的datasource相同,datafield设置为table中字段类型为备注型的那个字段名。
    form1.Table1.AutoCalcFields:=true;
    form1.Table1.AutoRefresh:=true;
    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    begin
      if (gdfocused in state) then
      begin
        if field.FieldName=form1.DBMemo1.DataField then
        begin
          form1.DBMemo1.Left:=rect.Left+form1.DBGrid1.Left;
          form1.DBMemo1.Top:=rect.Bottom+form1.DBGrid1.Top;
          form1.DBMemo1.Width:=rect.Right-rect.Left;
          form1.DBMemo1.BringToFront;
          form1.DBMemo1.Visible:=true;
        end
        else
          form1.DBMemo1.Visible:=false;
      end;
    end;