過疎blogに迷い込んできたコサさんの質問に回答してトピック数を稼ごうとと思いますw
dhtmlxGridでのイベント取得方法で、行クリックしたときの処理がわからないとのこと。
マニュアルではattachEventを使えと記述されています。
ですが、どうも動作が怪しいので、直接指定する方法がいいかと思います。
onrowsel=function(){
alert("onrowsel");
}
:グリッド処理
mygrid.onRowSelect=onrowsel;
:グリッド処理
リンクはこのイベント内で例えばcolを0にした列を一つ用意し、
そこにURLを置いておき、それを参照しジャンプさせればいいと思います。
onrowsel=function(r,c){
aa=mygrid.cells(r,1).getValue();
document.html=aa;
}
※引数のrはrowIDで、1はcolサイズを0にした隠しセル番号。
元に戻す時は、使ってないイベントを指定してしまいましょう。
mygrid.onRowSelect=mygrid.onCheckBox;
この使ってないイベントっていう中身は下記みたいな感じで定義されています。
this.onCheckbox=this.onEnter=this.onRowSelect=this.onEditCell = function(){return true;};
なので、上記イベント名で上書きすればいいと思います。
ちなみに、下記の方法がdhtmlXGridの推奨方法です。
var eventId=mygrid.attachEvent("onRowSelect",function(){alert("hoge");});
製品版ではないGPL版には下記イベントが標準であります。
onOpenStart
onOpenEnd
onRowSelect
onScroll
onEditCell
onCheck
onEnterPressed
onBeforeRowDeleted
onRowAdded
OnGridReconstructed
OnBeforeContextMenu
OnRightClick
onDrag
詳しくは
http://www.scbr.com/docs/products/dhtmlxGrid/doc/index.html
を参照下さい。
こんな感じでいいでしょうか?w>コサさん