我的DBgrid是动态的,在点击查询后才会出现。其中有一列是厂家名称,我想通过点击这一列中的每个厂家名连接到该厂家网站,请问我该怎么做啊?

解决方案 »

  1.   

    另外一个字段Link存网址,在CellClick事件中写
      ShellExeCute(Handle,'Open',ADOQuery.FieldByName('Link').AsString,nil,nil,SW_SHOWNORMAL);
      

  2.   

    这个语句我知道,但是怎么样建link,来点击那个网格就能做出反应呢?而且我那个网址是建在数据库里的,得查询才能得出~
      

  3.   

    点击dbgrid得到dbgrid1.columns.Grid.Fields[0].AsString 厂名,然后去数据库查询网址,赋值,
    最后ShellExeCute(Handle,'Open',address,nil,nil,SW_SHOWNORMAL);
      

  4.   

    厂名是根据那个小格里的名字随机变动的,请问我怎么引用这个厂名到As string后面呢
      

  5.   

    这样,你把网址也用SQL串出来,然后隐藏dbgrid中网址那一列,点击的时候取获得隐藏列的值,可以吗
      

  6.   

    多谢,是个好主意! 最后一个问题,address是个Pansichar类型,我如何引用隐藏列的值,让它正确地放在address的位置呢? 我之前想将edit1.text的值引用到address的位置,结果总是数据类型不兼容~
      

  7.   

    这个我没碰到过,数据类型的转化,你可以上google查查,为什么不设置成varchar呢?
      

  8.   

    真是自己给自己若麻烦的典型代表1、数据库字段类型是PAnsiChar类型,据我目前的了解,好像没有那种数据库能顺利支持这种类型,这是Delphi的一种数据库类型,类似于操作系统的PChar,用varchar多好2、既然不想看到,干脆不显示不就结了。
       譬如DBGrid就显示编号和名称两列,SQL语句 select 编号,名称,WEB地址 form 客户表
       直接在DBGrid的CellClick事件中写
    ShellExeCute(Handle,'Open',PChar(ADOQuery.FieldByName('WEB地址').AsString),nil,nil,SW_SHOWNORMAL);
    你点的那个客户就连接到那个客户的地址
      

  9.   

    现在看起来,楼主所说的PAnsiChar应该是ShellExeCute这个API函数中的数据类型
    很简单啊,看上面的
    PChar(ADOQuery.FieldByName('WEB地址').AsString)
    就OK了