web-dev-qa-db-ja.com

Extjsグリッド-クリックイベントリスナー

次の方法で、行のダブルクリックイベントリスナーをグリッドに正常に追加しました。

_listeners : {
    itemdblclick: function(dv, record, item, index, e) {
        alert('working');
    }
},
_

ここで、選択した行の3番目の列で正確な値を取得する必要がありますが、どうすればよいですか?

[〜#〜]編集[〜#〜]

わかりました:

_listeners: {
    itemclick: function(dv, record, item, index, e) {
        alert(record.get('name'));
    }
}
_

しかし、record.get('name')の結果はテキストではないようです!オブジェクトですが、テキストのように扱うことはできません。どんな体にも何か考えがありますか?

[〜#〜]編集[〜#〜]

たとえば、名前を検索関数に渡すと、Search(record.get('name'));これは機能しません。しかし、私がそれをこのように渡すと:Search('Mike');それは機能します!

9
Noon

確認しておいて

  • プロパティ名は実際には小文字の「名前」であり、「名前」ではありません
  • フィールドの値をconsole.log(record.get('name'))でコンソールに出力するか、console.log(record.data.name)またはconsole.log(record.data['name'])と入力して直接アクセスを使用します。基本的にすべてが同じを返す必要があります。
  • 文字列に値をキャストするには、''のようにその場でvar myVar = 2; myVar = myVar + ''; // now print 20 as stringを適用します
4
sra

で試してみてください

listeners: {
itemclick: function(dv, record, item, index, e) {
 var selectedRec = dv.getSelectionModel().getSelected();          
 alert(selectedRec.get('name')); //Will display text of name column of selected record
}
0
AJJ