旧バージョンでもそれが使える。
下手にバージョンアップしたく無ければ、最新パッケージをダウンロードし、
dhtmlXGrid_excell_link.js
というファイルをjsディレクトリにコピーし、
読み込ませ、
<script src="librarys/scand/js/dhtmlXGrid_excell_link.js"></script>
設定をlinkにし、
mygrid.setColTypes("link,ro,ro");
XML出力で、
<cell>ラベル^リンク先^ターゲット</cell>
としてやることで、サンプルページみたいなリンクが実現する。
出来れば、<![CDATA[]]>でくくって出力したほうがよい。
ちなみに、この手法でjavascriptを記述するのは難しい。
自動でonclickが付与されてしまう為、
リンク先にjavascriptを書いてもまともに動作しない。
dhtmlXGrid_excell_link.js を dhtmlXGrid_excell_locallink.js
などというファイルでコピーし、
function eXcell_link(cell){
this.cell = cell;
this.grid = this.cell.parentNode.grid;
this.edit = function(){}
this.getValue = function(){
if(this.cell.firstChild.getAttribute)
return this.cell.firstChild.innerHTML+"^"+this.cell.firstChild.getAttribute("href")
else
return "";
}
this.setValue = function(val){
var valsAr = val.split("^");
this.setCValue("<a href="'#'" onclick="'(isIE()?event:arguments[0]).cancelBubble="true;">"+valsAr[0]+"</a>");
}
}
修正後は、
<cell><![CDATA[リンク名^スクリプト]]></cell>
でjavascriptをonclickで実行出来る。