起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 153|回复: 5

【结贴】附件打开问题**

[复制链接]
发表于 2008-9-12 14:58:27 | 显示全部楼层 |阅读模式
unit MAINFORM;

interface

uses
  Business.System, Business.Model, Business.Forms, Business.Data,DocLib;

type
  TMAINFORM = class(TForm)
    FuncBroker: TFuncBroker;
    InfoBrokerFWGDXXCX: TInfoBroker;
    ControlBar: TControlBar;
    PageControl: TPageControl;
    TabSheet: TTabSheet;
    DataSetBroker2: TDataSetBroker;
    DataSetBroker3: TDataSetBroker;
    Label3: TLabel;
    DataSetBroker1: TDataSetBroker;
    DocView2: TDocView;
    Button1: TButton;
    DataSetdsWDS: TSQLDataSet;
    OpenDialog1: TOpenDialog;
    DataNavigator1: TDataNavigator;
    procedure Button2Click(Sender: TObject);
    procedure BizFormShow(Sender: TObject);

    procedure Button1Click(Sender: TObject);
  private
    function GetFileName: String;
    function isFile: Boolean;
  public
     procedure DataGridDblClick(Sender: TObject);
     property FileName: String read GetFileName;
  end;

implementation

function TMAINFORM.isFile: Boolean;
  begin
      result := DataSetdsWDS.FieldByName('FISDIRECTORY').AsString = 'N';
  end;

function TMAINFORM.GetFileName: String;
begin
  with DataSetdsWDS do
    begin
      if not Active then Open;
      if (RecordCount > 0) then
        result := DataSetdsWDS.FieldByName('Path').AsString
      else result := '';
    end;
end;
procedure TMAINFORM.Button2Click(Sender: TObject);
begin
close;
end;

procedure TMAINFORM.DataGridDblClick(Sender: TObject);
var
  lContext:TContext;
  form1 : TFWXXXS;
begin
  {if SystemCore.TSYSTEMCORE.Operator.DefaultPosition=nil then
    lContext := SystemCore.TSYSTEMCORE.Operator.Positions[0].Context
  else
    lContext := SystemCore.TSYSTEMCORE.Operator.DefaultPosition.Context; }

  //SystemCore.TSYSTEMCORE.FuncManager.RunFunc(lContext,'',''

  form1:=TFWXXXS.Create(Context);
  form1.ShowModal;
  form1.Free;
end;

procedure TMAINFORM.BizFormShow(Sender: TObject);
var
   NowPersonjg: String;
   StrSQL: String;
begin
  NowPersonjg:=SYSTEMCORE.TSystemCore.Operator.Positions[0].PositionMember.Parent.Parent.DisplayName;
  TSqldataset(DataSetBroker3.DataSet).SQL.Clear;
  StrSQL :='SELECT MIN(bh) bh,wjbt,fwsj,wh,ztc,fl,qzh,mj,bgqx,ys,ngsj,ngr,bwdw,dwfz,hgr,ws,xd,fwdw,zs,cs,cb,wdgl FROM BT_OA_SEND  WHERE bwdw='''+ NowPersonjg +''' GROUP BY wjbt,wdgl,fwsj,wh,ztc,qzh,fl,mj,bgqx,ys,ngsj,ngr,bwdw,dwfz,hgr,ws,xd,fwdw,zs,cs,cb,wdgl ORDER BY fwsj DESC';
  TSqldataset(DataSetBroker3.DataSet).SQL.Text := StrSQL;
  DataSetBroker3.DataSet.Open;

  FWGDXXCX.TFWLB(DocView2.doc).DataGrid.OnDblClick := DataGridDblClick;
end;

procedure TMAINFORM.Button1Click(Sender: TObject);
var
  lResult: String;
begin
  if not isFile then exit;
  try
    lResult := TUnStructureDocUtils.OpenFile(Context, FileName, TDocAccessKind.akReadOut);
  except
    lResult := TUnStructureDocUtils.OpenFile(Context, FileName, TDocAccessKind.akReadOut);
  end;
  //jsDialogs.ShowMsg(lResult, 'OpenFile:');
end;

end.

我在引用知识中心打开附件那个按钮的功能的时候 运行上面的代码,虽然编译通过了 但是打开的都是一个文档,不是对应的文档。请问哪里出问题了?
回复

使用道具 举报

发表于 2008-9-12 15:02:17 | 显示全部楼层
是不是数据集没有滚动呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-12 15:13:21 | 显示全部楼层
什么叫滚动?
回复 支持 反对

使用道具 举报

发表于 2008-9-12 15:17:59 | 显示全部楼层
就是说你数据集永远是在第一行。
另外看看环境,是否该数据集的数据被过滤掉了。
回复 支持 反对

使用道具 举报

发表于 2008-9-18 11:21:27 | 显示全部楼层
请回馈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-21 13:44:05 | 显示全部楼层
文档没有定位到 把GetFileName 重新改了一下 可以了 结帖
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 08:35 , Processed in 0.038096 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表