私はサンダーバードのコードベースで遊んでいます。目的は、インラインの連絡先編集を実装することです。Click
現在のコードはツリー上のイベントをキャッチしXUL
、ダブルクリック ( events.detail == 2
) の場合は、プロファイル エディターを開きます。現在の の編集を開始するように変更し、対応するドキュメントtreeCell
に追加しました。更新されたコードは次のようになりますeditable=true
XUL
var orow = {}, ocolumn = {}, opart = {};
gAbResultsTree.treeBoxObject.getCellAt(event.clientX, event.clientY,
orow, ocolumn, opart);
var row = orow.value, column = ocolumn.value.index;
if (row == -1)
return;
if (event.detail == 2)
gAbResultsTree.startEditing(row, column);
残念ながら、コードがそのstartEditing
部分に到達すると、戻ります
Error: uncaught exception: [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsITreeView.isEditable]" nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: chrome://global/content/bindings/tree.xml :: startEditing :: line 337" data: no]
私はここでかなり迷っています。XUL の経験が豊富な人が助けてくれますか? ありがとう!