打印本文 打印本文 关闭窗口 关闭窗口
TManagedDataSet和DataSetPool的实现
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2703  更新时间:2009/4/23 18:37:43  文章录入:mintao  责任编辑:mintao
begin

    Result := _asFieldName.Count;

end;

 

function TXlsExpAdapter.GetXlsTitle(const iniIndex : Integer) : string;

begin

         if (iniIndex >= 0) and (iniIndex <= _aDataType.Count-1) then

    begin

    Result := _asXlsTitle[iniIndex];

    end;

end;

 

function TXlsExpAdapter.GetFieldName(const iniIndex : Integer) : string;

begin

         if (iniIndex >= 0) and (iniIndex <= _aDataType.Count-1) then

    begin

    Result := _asFieldName[iniIndex];

    end;

end;

 

function TXlsExpAdapter.GetDataType(const iniIndex : Integer) : TDataType;

begin

    if (iniIndex >= 0) and (iniIndex <= _aDataType.Count-1) then

    begin

        Result := TDataType(_aDataType[iniIndex]);

    end;

end;

 

procedure TXlsExpAdapter.GetInfoFromDBGrid(const ingrid : TDBGrid);

var

         i, j : Integer;

    dt : TDataType;

begin

         for i := 0 to ingrid.Columns.Count-1 do

    begin

                   if ingrid.Columns[i].Visible then

        begin

           dt := ftUnknown;

           for j := 0 to ingrid.FieldCount-1 do

            begin

                if ingrid.Columns[i].FieldName = ingrid.Fields[j].FieldName then

                begin

                    dt := ingrid.Fields[j].DataType;

                    Break;

                end;

            end;

            Self.AddField(ingrid.Columns[i].FieldName, ingrid.Columns[i].Title.Caption, dt);

        end;

    end;  

end;

 

procedure TXlsExpAdapter.AddField(const insFieldName, insCaption : string; const intype : TDataType = ftUnKnown);

var

         iIndex : Integer;

begin

         iIndex := _asFieldName.IndexOf(insFieldName);

    if iIndex = -1 then

    begin

        _asFieldName.Add(insFieldName);

        _asXlsTitle.Add(insCaption);

        _aDataType.Add(TObject(intype));

    end

    else begin

        _asFieldName[iIndex] := insFieldName;

        _asXlsTitle[iIndex] := insCaption;

        _aDataType[iIndex] := TObject(intype);

    end;

end;

 

constructor TXlsExpAdapter.Create();

begin

         _asFieldName := TStringList.Create();

    _asXlsTitle := TStringList.Create();

    _aDataType := TObjectList.Create();

end;

 

destructor TXlsExpAdapter.Destroy();

begin

 

end;

 

function TManagedDataSet.ExportToXls(const inadapter : TXlsExpAdapter) : Boolean;

var

         excelobj : OleVariant;

    i : Integer;

begin

         Result := False;

   

         if not Self.Active then

        Exit;

 

      &nb

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口