• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jquery.csv2table.jsのテーブル)

jquery.csv2table.jsのテーブルを使ってCSVデータを表示したい

このQ&Aのポイント
  • jquery.csv2table.jsを使って、CSVの会員名簿をWEB上で表示したいと思っています。
  • 表示されるテーブルが横長になってしまうため、一行をセルの結合で2段にまとめて表示したいです。
  • しかし、セルの場所を任意に変更することはできないため、難しいかもしれません。詳しい方に教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.11

return rec.split (/\t/g); を return rec.split (/,/g); にでもしましょうか? ^^; いい加減な回答で申し訳ない。以下を理解しないと私は先に進めません。そろそろ忙しくなってもきましたし・・・。 http://www.ietf.org/rfc/rfc4180.txt

nana_coco
質問者

お礼

babu_baboo様 何度もお答え頂きありがとうございました。 上記部分を修正しましたらちゃんとTDに入りました! お忙しい中教えて頂きまして本当にありがとうございます。ペコリ ((-ω-('ω'〃)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (10)

回答No.10

またも連投! アルゴリズムを見直しました。 あくまでもcsvファイルの読み込みは簡易的なもの。 信用してはいけません。 テーブルヘッドとフッタはどこへ行った? <!DOCTYPE html> <meta charset="utf-8"> <title>テーブルをn行に?</title> <style> th { color: green; width: 6em;} td { width:4em;} tbody th { background: #efe;} </style> <body> <table border="1" id="hoge"></table> <script> (function () {    var reg_separator =   /^\s*(\d+)(?:@([hd]?)(?:([Rr])([1-9][0-9]*)?)?(?:([Cc])([1-9][0-9]*)?)?)?\s*$/;    //_____  function Ary2table (table, order, template) {   this.table = table;   this.order = order;   this.template = template;  }      function setTbody (ary) {   if (1 > arguments.length)    throw new Error ();      for (var i = 0, rec; rec = ary[i++]; ) {    for (var j = 0, e, J = rec.length; j < J; j++)     if (e = this.order[j])      e.textContent = rec[j] || '';    this.table     .appendChild (this.table.ownerDocument.createElement ('tbody'))     .appendChild (this.template.cloneNode (true));   }   return this;  }    function load (name) {   var req = new XMLHttpRequest;   req.open ( 'GET', name, false);   req.send (null);      if (200 !== req.status )    throw new Error;      this.setTbody (    req.responseText.trim ()     .split (/\r\n|\n|\r/g).map (      function (rec) {       return rec.split (/\t/g);      }     )   )  }  function createMap (format) {   var doc = this;   var fgm = doc.createDocumentFragment ();   var tr = doc.createElement ('tr');   var order = [ ];   var i, j, J, buf, a, e, tr_;   var rowMax = format.length;      for (i = 0; buf = format[i++]; ) {    fgm.appendChild (tr_ = tr.cloneNode (false));        for (j = 0, J = buf.length; j < J; j++) {     if (! (a = reg_separator.exec (String (buf[j]))))      throw new Error ('Syntax error: ['+ i+ ','+ j+ ']='+ buf[j]);     tr_.appendChild (order[+a[1]] = e = doc.createElement ((a[2] === 'h') ? 'TH': 'TD'));     if (a[3]) e.setAttribute ('rowSpan', a[4] || rowMax);     if (a[5]) e.setAttribute ('colSpan', a[6] || J); // J?    }   }   return { order: order, template: fgm };  }  function create (table, format) {   if (2 > arguments.length)    throw new Error ();      var map = createMap.call (table.ownerDocument, format);   var obj = new Ary2table (table, map.order, map.template)   return obj;  }  //_____    Ary2table.create = create;  Ary2table.prototype.setTbody = setTbody;  Ary2table.prototype.load = load;  this.Ary2table = Ary2table; }) (); //____ var format = [ // セルNo @ h r[rowspan] c[colspan]  ['0@hr', 1, 4, 7],  [  2, 5, 8],  [  3, 6, 9] ]; Ary2table.create (document.getElementById ('hoge'), format).load ('test.csv'); </script>

nana_coco
質問者

補足

babu_baboo様 何度もお付き合いくださりありがとうございます。 上記スクリプトですが、私のせいか<TH>にCSV1行が入ってしまい、<TD>は空っぽとなってしまいました。。。 自分でもbabu_baboo様のように、ここまで書ければ良いのですが( p_q)

全文を見る
すると、全ての回答が全文表示されます。
回答No.9

いつもより、”やっつけ” で書きました。 テーブルを置き換えるのではなく、CSVを配列にした状態からテーブルを作成します。 正規表現が何を意味するのか理解できれば好いのですが。 まぁこれは書いた本人も微妙ですし…。 ろくに確かめてもいないし…。 <!DOCTYPE html> <meta charset="utf-8"> <title>テーブルをn行に?</title> <style> th { color: green; width: 6em;} thead, tfoot { background: #8c8;} tbody th { background: #efe;} .num { text-align : right; } </style> <body> <table border="1" id="hoge"></table> <script> var D = /^(?:(?:(#)(?:\[(?:(\d+)(?:,(\d+)?)?)?\])?))?(.*)$/;//#[rowSpan,colspan]text function C (a) {  var b = D.exec (a), c;  if (b[1]) {   c = document.createElement ('th');   c.textContent = b[4] || '';   if (b[2])    c.setAttribute ('rowSpan', b[2]);   if (b[3])    c.setAttribute ('colSpan', b[3]);  }  else {   c = document.createElement ('td');   c.textContent = a;   if (! isNaN(a))    c.className = ('num');  }  return c; } function B (a, b) {  var c = document.createDocumentFragment ();  var d = b.map (C);  var i = 0, j, J, tr, m;    for (i = 0; m = a[i++]; ) {   tr = c.appendChild (document.createElement ('tr'));   for (j = 0, J = m.length; j < J; j++) {    tr.appendChild (d[m[j]])   }  }  return c; } function A (a, b, c, d, e) {  if (3 > arguments.length)   throw new Error;    var f = document, g;  while (g = a.firstChild)   a.removeChild (g);    if (d)   a.appendChild (f.createElement ('thead'))    .appendChild (B (b, d));    if (e)   a.appendChild (f.createElement ('tfoot'))    .appendChild (B (b, e));  if (c)   c.forEach (function (h) {    a.appendChild (f.createElement ('tbody'))     .appendChild (B (b, h));   }) } //______________ var body = [  ['#[3]abcd',1,2,3,4,5,6,7,8,9],  ['#[3]efgg',9,8,7,6,5,4,3,2,1] ]; var format = [  [0, 1, 4, 7],  [ 2, 5, 8],  [ 3, 6, 9] ]; var head = ['#[3]Name', '#a', 'b', 'c', '#d', 'e', 'f', '#g', 'h', 'i']; var foot = head; A (document.getElementById ('hoge'), format, body, head, foot); </script>

nana_coco
質問者

補足

babu_baboo様 何回もご回答頂き、本当にありがとうございます。 上に書いて下さったscriptは綺麗に表になっておりました! ですが、私の頭が追いついておりません・・少し整理して理解しましたら改めてお礼をさせて下さい。 取り急ぎありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.8

こんにちは。ANo3です。 「お薦めしない」といいながらも再度の投稿です(笑) csv2tableがどのような処理をしているか把握していないので、データはもちろん文書の構造もいじらない方が無難かなと思った次第です。 そうすると、どうしても表示のレイアウトでなんとかしようということに… HTMLが表示のためだけに利用されているなら、ANo4様の回答のように書き直しても問題は出ないでしょう。 >CSSで表示を変える方法は思案したのですが、やはりブラウザの差もあるので >不安定と思い避ける事といたしました。 ご意見ごもっともと思いますし、回答にも懸念を記載した通りです。 と言いながら・・・ いっそのこと、各セルをabsoluteで個々に指定してしまえば、ブラウザの差異も少ないのではないかと想像します。(せいぜい20項目程度?) 決してお薦めするつもりではありません(笑)

nana_coco
質問者

お礼

fujillin様 再度ご回答頂きありがとうございます。 absoluteでの方法もあると言う事、参考にさせて頂きます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.7

連投すみません。 目が覚めて気がつきました。 プロの人達から指摘が入る前に自分で指摘しておきます。 このプログラムは、マークアップする側から見ればダメです。 1レコードをN行にするので、行数はN倍に増えます。 そこである適当な行に注目します。 その行には、1レコードの何行目かをしるすものがありません。 せめて、class を指定して1レコードの何行目か(もしくは1レコードの何番目)を付加するべきでした。 やはりこの場合、1レコードを1つのtbodyにして表を作成すべきです。 見た目は変わりませんが、スクリプトで単純に置き換えたダメな例ですね。 また見た目が近いとして hr で置き換えしているものも、マークアップとしては間違いです。 rowSpanで2行にしてグループにしておきながら、間に<hr>文脈がまったく関係なくなる区切りのタグを使うのは、やってはいけないことです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.6

テーブルが表示された後に、実行する もしくは、3秒後に実行されるようにする。 A(document.querySelector ('table'), [-1, 0, 0, 0, 1, 1, 1, 0, 1]); を、 // function AA () {  A(document.querySelector ('table'), [-1, 0, 0, 0, 1, 1, 1, 0, 1]); } setTimeout (AA, 3000); // にする。 もちろん知っていると思うけど、2行以上でもOKだよ! もしくは誰かに再度聞く。 もしくは・・・、指をくわえて諦める。

全文を見る
すると、全ての回答が全文表示されます。
回答No.5

間違えた。  trs = [tr].concat (trs.reverse ()); を  trs = [tr].concat (trs); に! (またも)すみません。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

ななめ下&横から ながめて、使えますかね? <!DOCTYPE html> <meta charset="utf-8"> <title>テーブルをn行に?</title> <body> <table border="1">  <tr>   <th>A <th>B <th>C <th>D <th>E <th>F <th>G <th>H <th>I  <tr>   <td>1 <td>2 <td>3 <td>4 <td>5 <td>6 <td>7 <td>8 <td>9 </table> <script> function insertAfter (a) {  this.parentNode.insertBefore (a, this.nextElementSibling); } function toAry (n) {  return Array.prototype.slice.call (n, 0); } function B (tr) {  var fmt = this;  var thd = toAry (tr.children);  var max = Math.max.apply (null, fmt);  var trs = [];  var e, i, n;  for (i = 0; i < max; i++)   trs.push (tr.cloneNode (false));  trs.forEach (insertAfter, tr);  trs = [tr].concat (trs.reverse ());  max++;    for (i = 0; e = thd[i]; i++) {   switch (n = fmt[i]) {   case 0 : case undefined : break;   case -1: e.setAttribute ('rowSpan', max); break;   default: trs[n].appendChild (e);break;   }  } } function A (table, format) {  toAry (table.querySelectorAll ('tr')).forEach (B, format); } alert("Change!!"); A(document.querySelector ('table'), [-1, 0, 0, 0, 1, 1, 1, 0, 1]); </script> もっとコンパクトに書けそうだけれども…。

nana_coco
質問者

補足

babu_baboo様 ご回答ありがとうございます。 まさにやりたい表になっております! ですが、私の知識不足の為jquery.csv2table.jsにどう組み込めばよいのか全く解りません。。 ためしに、babu_baboo様が書いて下さったスクリプトをHTMLに埋め込んでみたのですが csv2tableで表が表示される前(ボタンで表示されます)にチェンジのアラートが出てしまい、結果何も起こらずじまいとなってしまいました。 わざわざここまで書いて下さったのに本当にすみません。 もっと勉強しないとダメですね( p_q)...

全文を見る
すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

少々無理やり感があるので、お薦めではありませんが… tdをinline-blockなどにしておいて、trの中でレイアウトし直してしまえばデータはそのままで、表示のレイアウトだけを変えることができるようです。 CSSで細かに指定してあげる必要がありますが、これならデータのtable構成はそのままなので、ソートしても同じレイアウトを保つことが可能です。 とはいうものの、もともとがtable要素として作成されているものを、本来のtableでなくしてしまうところが問題かもしれませんが… ブラウザによって同じ挙動をするかどうかまでは確認していませんが、Fxで簡単に試してみたところ可能なようです。 例えば、ANo1の補足のようなレイアウトなら、  trをposition:relativeにしておく  tdをfloat:leftにして高さと幅を指定  項目B、Cだけ高さを半分に指定  項目Cをposition:absoluteで項目Bの下に来るように位置指定 といった要領で、一応それらしき表示にすることが可能です。 nth-childで指定する必要がありそうですが、これが使えないブラウザを対象にするのであれば、csv2tableにonloadのオプションがありますので、そちらで対象とするセルにクラス名を設定しておいてそれを利用するなどの工夫が必要かもしれません。 先に書きましたようにお薦めの方法とは言えませんので、どうしようもない時のアイデアとして…

nana_coco
質問者

お礼

fujillin様 ご回答ありがとうございます。 CSSで表示を変える方法は思案したのですが、やはりブラウザの差もあるので不安定と思い避ける事といたしました。 わざわざ試して頂いて大変申し訳ございません。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.2

なるほど、、、 そのようになると例示の場合にCSVの時点で項目Bと項目Cの間のカンマを<hr>にするのが一番簡単かと思います。 次点で、CSVを一行一行読み込む時に、○個目のカンマを<hr>にするという処理を加える方法です。 例えば2個目のカンマを<hr>に変えるにはstr_replaceと下記の正規表現で可能です。 ^([^,]+(,)){2} この方法はプラグインに直接手を加えなくてはならないのであまりよろしくないかもしれません。

nana_coco
質問者

お礼

ONEONEさま ご回答ありがとうございます。 <hr>を入れる案、とても希望する形には近くはなるのですが、項目が1つに集約されてしまうのでソート機能もどちらかが機能しなくなってしまいます・・・ やはり、これは難しいのですね。別の方法も考えてみようと思います。 ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

>出来れば一行をセルの結合で2段にまとめて表示したいと思っています。 ><td colspan="2"><td rowspan="2">を使って >[1]はココに表示[2]はココに表示するみたいにテンプレ化して表示できればと思っていますが >セルの背景色は変更できてもセルの場所を任意に変更できません 私にはここの意味がわかりません。 具体的なcsvの一行と、こう表示したいっていうのを例示してもらえますか? ソート機能ついてるし、ちょっと難しいのでは?と予想しますが、、、

nana_coco
質問者

補足

質問時に画像を添付するべきでした、、、解りづらい文章ですみません。 【CSV】 項目A/項目B/項目C/項目D/項目E あ,い,う,え,お 【HTML表示の表】 ------------------------------ 項目A|項目B|項目D|項目E|     |-----|   |   |     |項目C|   |   | ------------------------------  あ | い | え | お |     |-----|   |   |     | う |   |   | ------------------------------ ずれて見えてしまうかもしれませんが やりたい事は上のような項目Bと項目Cを二段で表示した表の表示です。 (実際にはもっと横長に項目量が多いです) やはり難しいですかね・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • jquery.csv2table.jsに検索窓

    CSVの会員名簿を読み込み、表にしてWEBに表示する為にjquery.csv2table.jsを使った こちらのサイトを参考にさせて頂きました。 参考サイト http://jsgt.org/lib/jquery/plugin/csv2table/v002/test.htm CSVを読み込み、表示は成功したのですが。 検索窓を付けて、たとえば「青木」と検索すればCSVから青木さんを拾ってきて表示としたいのですが、やり方が解りません。>< <input class = "btn1" type = "button" onclick = "$('#view541').csv2table('./data/where1.csv',{ where : [{'種類':'like タ__'}] });" value="where : [{'種類':'like タ__'}]"> この例文をtype= "text"にしてテキストエリアに入力した値をCSVデータの中から見つけ出して表示するにはどうすればいいのでしょうか? どなたか、ご教授頂けますと助かります。( p_q)

  • テーブル結合 縦横両方するには?

    テーブルの縦の結合は rowspan テーブルの横の結合は colspan これを使って表を結合しました 1つのセルに両方入れると正常な表になりません <td rowspan="3" colspan="3"> </td> というふうに書いたのですが表が新たに変なセルが増えてしまいます 解決方法わかる方おしえてください あとrowspan="3"と書いたら縦の下2つのセルのプログラム文は 消しています、これは問題あるでしょうか? colspanも同じやり方です

    • ベストアンサー
    • HTML
  • 【Jquery】csv2tableを使ってcsvを呼び出した表について

    JQueryのcsv2tableをつかってcsvを表に吐き出ししているものを Webに設置しています。 表示する際に、csvの0列目と1列目と3列目だけを表示させられるように下記のようなタグをいれています。 <input class = "btn1" type = "button" onclick = "$('#view54').csv2table('./data/Book12-utf8.csv',{ select : [0,1,3] });" value="Run select:[0,1,3]"> <div id="view54"></div> 参考:http://jsgt.org/lib/jquery/plugin/csv2table/v002/test-tm.htm#nview54 ここに、下記タグのように、偶数行だけ色を変えるよう指定したいのですがうまくいきません。 <input class = "btn1" type = "button" onclick = " $('#view2').csv2table('./test.txt',{ onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } })" value = "Load CSV"> ここにある    onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } が必要と思い、 <input class = "btn1" type = "button" onclick = "$('#view54').csv2table('./data/Book12-utf8.csv',{ select : [0,1,3]     onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } });" value="Run select:[0,1,3]"> としたのですが、こうするとcsvが表示されなくなります。 おそらく書き方がどこかおかしいと思うのですが、どこがおかしいか教えてください。

    • ベストアンサー
    • AJAX
  • csv2tableのテーブルを動的に変更したい

    現在、jquery.csv2table.jsでCSVファイルを読込み、出力されるテーブルデータをグラフ表示しています。 ここで出力されるテーブルデータをブラウザ上から動的(テキストエリア化)に変更でき、グラフデータにも反映できるようにしたいと考えていますが、下記の課題に対して、どこをどのように手を加えてよいかまったくわからない状態です。 「テーブルデータのテキストエリア化」 「テキストエリアからのグラフ、CSVファイルへのフィードバック方法」 HTML、JavaScriptに関して全くの素人で、他サイトを参考にしつつコピペで作っている状態です。 色々探ってはみたのですが、参考となるサイトを見つけることができず、自力での解決も困難な状況で困っています。 参考になりそうなサイトの紹介などでもかまいませんので、皆さんのお力をお貸しください。 どうぞよろしくお願いします。 <参考サイト> http://jsgt.org/lib/jquery/plugin/csv2table/v002/test.htm ※ここの”setting.use ( use jQchart )”が現在の状態に近いです

  • 表の結合をcsvで保存するには?

    教えてください。 商品検索ツールを利用しています。 商品詳細データはcsvで保存されます。 表の結合をしたいのですがうまくいきません。 たとえばビルダーで編集すると <TABLE border="1"> <TBODY> <TR> <TD colspan="4">&nbsp;商品の詳細</TD> </TR> <TR> <TD rowspan="2">&nbsp;コード&nbsp;</TD> <TD colspan="2">&nbsp;&nbsp;サイズ</TD> <TD rowspan="2">価格&nbsp;&nbsp;</TD> </TR> <TR> <TD>mm&nbsp;</TD> <TD>&nbsp;インチ</TD> </TR> <TR> <TD>&nbsp;000005</TD> <TD>&nbsp;***</TD> <TD>○○&nbsp;</TD> <TD>&nbsp;¥50</TD> </TR> </TBODY> </TABLE> と、このようにソースに表示されますが、 これらをcsvで保存しても???になります。 このような表をcsvファイルで作成することは可能なのでしょうか? よろしくお願い致します。

  • テーブルのレイアウトがおかしくなります・・・

    先ほども質問して教えていただいたのですが、少し対応できないことが出来てしまったので 再び質問いたします。 <table border="1" width="100%"> <tr> <td width="20" rowspan="2">1</td> <td width="30">&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td colspan="2">&nbsp;aaaaaaaaaaaaaaaaaaaaaa</td> </tr> </table> 1)先ほどtable-layout:fixedを教えてもらったのですが、一番左のセルの番号の桁数が増えた場合には幅を増やして表示したい (つまり最大の幅にしたい) 2)width=30の部分を書かないとcolspanのセルに影響を受けないのですが、width=30を書くととたんにcolspanのセルに影響されて びよ~んと幅が大きくなってしまいます。ずばりhtmlのバグでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • tableのtr要素をドラッグ&ドロップで任意に入れ替え、その順番を取

    tableのtr要素をドラッグ&ドロップで任意に入れ替え、その順番を取りたいです。 jqueryのSortableプラグインを調べ、これならできそうとプログラムを組み、 trの一行ごとならばできました。 やりたいことは、rowspanで連結されている<tr>を2行以上まとめて1つの要素とみなし、 入れ替えたいのですが、 jqueryのSortableでできますでしょうか? <table> <tr><td rowspan="2">一行目</td><td>あいう</td> <tr><td>えお<td></tr> <tr><td rowspan="2">二行目</td><td>かきく</td> <tr><td>けこ<td></tr> </table> <table>を入れ子にすれば実現はできそうですが、 ちょっとCSSの関係もあり、その方法を採用するのは難しい気がしています。

    • ベストアンサー
    • AJAX
  • スクロール付きのテーブルで、内側に線を付ける方法

    添付画像のようにテーブル内に枠を周りに付けて二重の枠にして、 内側のテーブルとテーブルの間に破線をいれたいです。 しかし、CSSで設定しても破線も枠も表示されません。 こういう場合はどうすればいいのでしょうか? <table id="j"> <tbody> <tr> <td> <DIV style="height:300px; overflow:auto;"> <table class="t"> <tr> <td rowspan="3">ああああああああああああ</td> <td colspan="2">いいいいいいいいいいいいいい</td> </tr> <tr> <td colspan="2">ううううううううううううう</td> </tr> <tr> <td>えええええ</td> <td>おおおおお</td> </tr> </table> <table class="t"> <tr> <td rowspan="3">ああああああああああああ</td> <td colspan="2">いいいいいいいいいいいいいい</td> </tr> <tr> <td colspan="2">ううううううううううううう</td> </tr> <tr> <td>えええええ</td> <td>おおおおお</td> </tr> </table> <table class="t"> <tr> <td rowspan="3">ああああああああああああ</td> <td colspan="2">いいいいいいいいいいいいいい</td> </tr> <tr> <td colspan="2">ううううううううううううう</td> </tr> <tr> <td>えええええ</td> <td>おおおおお</td> </tr> </table> <table class="t"> <tr> <td rowspan="3">ああああああああああああ</td> <td colspan="2">いいいいいいいいいいいいいい</td> </tr> <tr> <td colspan="2">ううううううううううううう</td> </tr> <tr> <td>えええええ</td> <td>おおおおお</td> </tr> </table> <table class="t"> <tr> <td rowspan="3">ああああああああああああ</td> <td colspan="2">いいいいいいいいいいいいいい</td> </tr> <tr> <td colspan="2">ううううううううううううう</td> </tr> <tr> <td>えええええ</td> <td>おおおおお</td> </tr> </table> </div> </td> </tr> </tbody> </table> -----css------ #j{ cellpadding: 2; width: 520; background-color : #ffe3c8; border:1px solid #333; border-spacing:0; } } .t{ width: 500; height: 100; border:1px solid #333; } td{ cellspacing: 0; border-collapse: collapse; border-spacing:0; }

    • ベストアンサー
    • HTML
  • テーブルについて

    二つスライドが重なったようなテーブルを作りたいんですけど、一応、下記はそのように表示されたのですが、見え方で言うと、スライドの一枚目に文字を入れると、二枚目のスライドの形がずれてしまうのですがどうすればいいでしょう? <TABLE width="636" cellspacing="0"> <TBODY> <TR> <TD bgcolor="#0080ff" colspan="3" rowspan="2"></TD> <TD width="20" height="20"></TD> </TR> <TR> <TD bgcolor="#97cbff" width="20"></TD> </TR> <TR> <TD height="20" width="20"></TD> <TD bgcolor="#97cbff" colspan="2" width="596"></TD> <TD bgcolor="#97cbff" width="20" height="20"></TD> </TR> </TBODY> </TABLE>

    • ベストアンサー
    • HTML
  • 「jquery.csv2table.js」から生成されたテーブルに「s

    「jquery.csv2table.js」から生成されたテーブルに「super tables」を適用したい。 csv2tablesを使用して、テーブルの作成・表示はできるのですが、一部の行と列を 固定したいと考えています。色々検索した結果、「super tables」が良いかと思い、 以下のサイトを参考にスクリプトを追加していますが、エラーが表示され、固定 された表示になりません。 以下にスクリプトの情報等を記載します。書き方がそもそも間違っている等、 ご教示下さい。よろしくお願いします。 <参考にしたサイト> http://c-brains.jp/blog/wsg/09/06/16-151445.php <IE8のエラーメッセージ> Web ページ エラーの詳細 ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C) タイムスタンプ: Sun, 29 Aug 2010 14:44:55 UTC メッセージ: 'this.sDataTable.tBodies.0' は Null またはオブジェクトではありません。 superTables.js ライン: 92 文字: 3 コード: 0 <HTML・スクリプト> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <link rel="stylesheet" href="./css/superTables.css" type="text/css" /> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery.csv2table.js"></script> <script type="text/javascript" src="./js/superTables.js"></script> <script type="text/javascript"> $(function(){ $('#view1').csv2table('./test.csv'); }); </script> <style type="text/css"> .fakeContainer { margin: 0 0 20px; width: 600px; height: 200px; overflow: hidden; } </style> </head> <body> <div id="view1" class="fakeContainer"></div> <script type="text/javascript"> //<![CDATA[ (function () { new superTable("view1", { cssSkin : "sDefault", headerRows : 1, fixedCols : 3 }); })(); //]]> </script> </body> </html> <test.csvの内容> No,項目1,項目2,項目3,項目4,項目5,項目6,項目7,項目8,項目9,項目10 1,,,,,,,,,, 2,,,,,,,,,, 3,,,,,,,,,, 4,,,,,,,,,, 5,,,,,,,,,, 6,,,,,,,,,, 7,,,,,,,,,, 8,,,,,,,,,, 9,,,,,,,,,, 10,,,,,,,,,, 11,,,,,,,,,, 12,,,,,,,,,, 13,,,,,,,,,, 14,,,,,,,,,, 15,,,,,,,,,, 16,,,,,,,,,, 17,,,,,,,,,, 18,,,,,,,,,, 19,,,,,,,,,, 20,,,,,,,,,,