0

私はSlickgridを使用しており、以下の視覚効果を実現しようとしています。

青い点は任意のアイコン/ボタンにすることができます。

ここに画像の説明を入力してください

重要な問題は、選択したセルを常に中心とするフローティングDIVを作成する方法、または中央のセルが選択したセルである3x3テーブルを作成する方法です。

始める方法について何か提案はありますか?

どうもありがとう!

PS私はこれを2つの方法で解決しようとしました:

1)カスタムフォーマッタ

function styleFormatter(row, cell, value, columnDef, dataContext) {

    var button = "<button class='button' title='Manage comments'></button>";


    if (value == null || value === "") {

        return "";

    } else {
            return "<div class='classValueFormat'><div class='divButton'>" + button + "</span>" + value + "</div>";
        }

    }
}

divButtonのCSSがmargin-topを負に設定して、セルの境界から押し出そうとしている場合。ここでの問題は、マージンがセルのメインコンテンツを上下に押して、表示できなくなることです。カスタムフォーマッタは、コンテンツをセルの境界内に強制するため、実行不可能だと思います。

2)Santiagoによって提案され、コンテキストメニューの例でMichaelによって示されているように、xとyの位置を取得することはアイデアでしたが、ナビゲーションにDIVを表示するようにトリガーできなかったため、またセルに合わせてサイズを変更したり移動したりしなかったため、あきらめましたページをスクロールするときにセルを使用します。

4

3 に答える 3

1

オーバーレイDIVを個別に作成し、ドキュメント本文に追加します。次に、onActiveCellPositionChangedイベントをリッスンし、を使用getActiveCellPositionしてオーバーレイを再配置します。

于 2012-08-07T18:45:14.653 に答える
0

マウスの位置を取得して、この値をdivのposition-xとposition-yなどに送信できます.css()か?

考え直してみると、使用する必要があるのは.focus()関数だと思います

于 2012-08-07T08:25:08.890 に答える
0

私はこれを試していません。直感に反するように聞こえるかもしれませんが、フォーマッターの代わりにエディターを使用できるかもしれません。エディターは実際にはデータを編集しませんが、セルの場所の上に必要なHTMLをレンダリングすることができます。エディター内からナビゲーションを処理する必要がありますが、それは実行可能だと思います。例3、特に説明フィールドエディタを参照してください(ページをスクロールすると移動します)。

于 2012-08-07T17:27:41.057 に答える