2016-05-23 3 views
0

マーキング可能なHTMLテーブルセルを実現したい。 HTMLについては、うまく機能するHTML Cellrendererを使用しました。 Cell markableを取得するには、「webkit-user-select」フォームをテキストなしに設定する必要があることがわかりました。 私は自分のHTMLセルレンダーを書きました。マーキング可能なHTMLテーブルセル

_createStyleSheet : function() { 
     var colorMgr = qx.theme.manager.Color.getInstance(); 
     var stylesheet = ".qooxdoo-table-cell {" + qx.bom.element.Style.compile({ 
      position : "absolute", 
      top : "0px", 
      overflow : "hidden", 
      whiteSpace : "nowrap", 
      borderRight : "1px solid " + colorMgr.resolve("table-column-line"), 
      padding : "0px 6px", 
      cursor : "default", 
      textOverflow : "ellipsis", 
      userSelect : "text" 
     }) + "} " + ".qooxdoo-table-cell-right { text-align:right } " + ".qooxdoo-table-cell-italic { font-style:italic} " + ".qooxdoo-table-cell-bold { font-weight:bold } "; 

     if (qx.core.Environment.get("css.boxsizing")) { 
      stylesheet += ".qooxdoo-table-cell {" + qx.bom.element.BoxSizing.compile("content-box") + "}"; 
     } 

     qx.ui.table.cellrenderer.Abstract.__clazz.stylesheet = qx.bom.Stylesheet.createElement(stylesheet); 
    } 

今、セルがマーキング可能ですが、HTMLタブ:私は、私はコンストラクタで呼び出して、この機能を、「qx.ui.table.cellrenderer.Conditionalを」拡張HTMLのCellRendererの実装を追加して、コメントを追加しました変換されません。 padawan.js:210キャッチされない例外TypeError: はまた、私は次のエラーを取得するプロパティを設定することはできません未定義

答えて

0

の「スタイルシート」あなたはおそらくAbstract Cellrendererのコンストラクタから必要なすべてのコードをコピーしませんでした。 qx.ui.table.cellrenderer.Abstract.__clazzがなぜ定義されていないのかを説明します。だから、あなたもthis partを追加する必要があります

var cr = qx.ui.table.cellrenderer.Abstract; 
if (!cr.__clazz) 
{ 
    cr.__clazz = this.self(arguments); 
    this._createStyleSheet(); 

    // add dynamic theme listener 
    if (qx.core.Environment.get("qx.dyntheme")) { 
    qx.theme.manager.Meta.getInstance().addListener(
     "changeTheme", this._onChangeTheme, this 
    ); 
    } 
} 

_onChangeTheme方法。

拡張されたHTML CellRendererを持つフルplayground exampleです。

ICellRendererインターフェイスを実装している独自のレンダリングを書く方がよいでしょう。

+0

コンストラクタでif節を削除する必要がありました。それ以外の場合は、-webkit-user-selectプロパティをオーバーライドしませんでした。あなたの助けをもう一度ありがとう! –

関連する問題