質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

13924閲覧

SlickGridにHTMLタグでチェックボックス表示

POKOPOKO

総合スコア14

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2016/06/09 07:31

編集2016/06/09 09:48

SlickGridのセル内にHTMLタグを設定しチェックボックスを表示していますが、チェックを付けた行をスクロール(垂直方向)し表示範囲より消し再度表示範囲まで戻すとチェックが消えてしまいます。

そもそもSlickGridでHTMLタグでチェックボックスを表示することが間違えなのでしょうか?
HTMLタグでチェックボックスを表示している理由は、そのセルにチェックボックス以外にもリンク文字の表示も行いたので、このような方法を行っています。

ソースを以下に添付します。

宜しくお願いします。

------テストソース------

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>SlickGrid example 2: Formatters</title> <link rel="stylesheet" href="../slick.grid.css" type="text/css"/> <link rel="stylesheet" href="../css/smoothness/jquery-ui-1.8.16.custom.css" type="text/css"/> <link rel="stylesheet" href="examples.css" type="text/css"/> <link rel="stylesheet" href="main.css" type="text/css"/> <style> .cell-title { font-weight: bold; margin:0; padding:0; } .cell-effort-driven { text-align: center; } </style> </head> <body> <input type=text> <table width="100%"> <tr> <td valign="top" width="50%"> <div id="myGrid" style="width:600px;height:500px;"></div> </td> <td valign="top"> <h2>Demonstrates:</h2> <ul> <li>width, minWidth, maxWidth, resizable, cssClass column attributes</li> <li>custom column formatters</li> </ul> <h2>View Source:</h2> <ul> <li><A href="https://github.com/mleibman/SlickGrid/blob/gh-pages/examples/example2-formatters.html" target="_sourcewindow"> View the source for this example on Github</a></li> </ul> </td> </tr> </table> <input type=text> <script src="../lib/firebugx.js"></script> <script src="../lib/jquery-1.7.min.js"></script> <script src="../lib/jquery-ui-1.8.16.custom.min.js"></script> <script src="../lib/jquery.event.drag-2.2.js"></script> <script src="../slick.core.js"></script> <script src="../slick.formatters.js"></script> <script src="../slick.grid.js"></script> <script> function formatter(row, cell, value, columnDef, dataContext) { return value; } var grid; var data = []; var columns = [ {id: "title", name: "Title", field: "title", width: 120, cssClass: "cell-title", formatter: formatter}, {id: "title2", name: "Title2", field: "title2", width: 120, formatter: formatter}, {id: "duration", name: "Duration", field: "duration"}, {id: "%", name: "% Complete", field: "percentComplete", width: 80, resizable: false, formatter: Slick.Formatters.PercentCompleteBar}, {id: "start", name: "Start", field: "start", minWidth: 60}, {id: "finish", name: "Finish", field: "finish", minWidth: 60}, {id: "effort-driven", name: "Effort Driven", sortable: false, width: 80, minWidth: 20, maxWidth: 80, cssClass: "cell-effort-driven", field: "effortDriven", formatter: Slick.Formatters.Checkmark} ]; var options = { editable: false, enableAddRow: false, enableCellNavigation: true }; $(function () { for (var i = 0; i < 40; i++) { var d = (data[i] = {}); d["title"] = "<div class='vlsVoid'>-</div>"; d["title2"] = "<table border='0' cellpadding='0' ><tr><td><input type='checkbox'/></td><td><div>aaa</div></td></tr></table>"; d["duration"] = "5 days"; d["percentComplete"] = Math.min(100, Math.round(Math.random() * 110)); d["start"] = "01/01/2009"; d["finish"] = "01/05/2009"; d["effortDriven"] = (i % 5 == 0); } grid = new Slick.Grid("#myGrid", data, columns, options); }) </script> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/06/09 08:49

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
POKOPOKO

2016/06/09 09:46

ご指摘ありがとうございます。
guest

回答2

0

SlickGridは、スクロールで見えなくなった行のデータ(実際にはHTML)を破棄します。逆に見えていなかった行が表示範囲に入った場合は、行を作り直します。
このために大量のデータを表示させても、画面の動きが重くなりません。
チェックボックスのオンオフは、SlickGridの管理外なので、formatterでオンオフ制御を考慮してチェックボックスのタグを作ることが必要です。

別の方法としては、SlickGridにチェックボックスを作る指示を行うと、データを管理してくれます。
ただし、これはうろ覚えな情報でして、こんな機能はないかもしれません。

投稿2016/06/09 10:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

再度表示範囲まで戻すとチェックが消えてしまいます。

再描画されるので当然消えます。チェックボックスの状態を保持するプラグインも有るようです。下記公式Exampleに掲載されています。

http://mleibman.github.io/SlickGrid/examples/example-checkbox-row-select.html】
http://mleibman.github.io/SlickGrid/examples/example-checkbox-row-select.html

投稿2016/06/09 10:14

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問