如何实现双击dbgrid 中记录:如''n001'' 就能打相硬盘中对应e:\文件\n001.xls 这个文件

解决方案 »

  1.   

    DBGrid双击事件里,根据DBGrid.DataSource.DataSet当前选中的记录可以
      

  2.   

    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    beginend;
    这里代码怎么写
      

  3.   

    假如adoquery1为你的数据,''n001'' 的字段为 code在双击事件中这样写var
    filepath:string;
    begin
    filepath := 'e:\文件\'+adoquery1.fieldbyname('code').asstring+'.xls';
    //用ShellExecute打开filepath
    end;
      

  4.   

    双击时没有任何反应, 是不是use 里还要加什么吗?
      

  5.   


    procedure TForm2.DBGrid1DblClick(Sender: TObject);
    var
    filepath:string;
    begin
    filepath:='d:\2010\'+adoquery1.fieldbyname('编号').asstring+'.xls';
    //用ShellExecute打开filepath
    end;不是这样吗
      

  6.   

    真服了你了
    //用ShellExecute打开filepath
    这句你也这么复制上了,我让你用那个函数去执行filepath
      

  7.   

    procedure TForm2.DBGrid1DblClick(Sender: TObject);
    var
    filepath:string;
    begin
    filepath:='d:\2010\'+adoquery1.fieldbyname('编号').asstring+'.xls';
    end;
    去掉了也一样,没反应
      

  8.   

    begin
    ShellExecute(Handle, 'open', PChar('EXCEL.EXE'), PChar('d:\2010\n0001'), nil, SW_SHOW);end;如果单这样测试可以打开,哪里错了?
      

  9.   

    filepath:='d:\2010\'+adoquery1.fieldbyname('编号').asstring+'.xls'
    //文件名
    ShellExecute(Handle, 'open', PChar('EXCEL.EXE'), PChar(filepath), nil, SW_SHOW);
    //执行打开的操作你不会连这两句都不懂吧?