• 締切済み

分割したCSVを1つに結合させ、データバインドするには

分割したCSVデータをデータバインド時に1つにして利用したい。 【CSVファイル名】 現状:data.csv(3MB) 希望:data1.csv data2.csv data3.csv data4.csv data5.csv (各450KB) 【現行のスクリプト】 <script language="JavaScript"> function filterRec() { var check_cond = input1.value + input2.value + input3.value + input4.value + input5.value if(check_cond != "") { var cond1 = "id=" + "*" + input1.value + "*" var cond2 = "photo=" + "*" + input2.value + "*" var cond3 = "name=" + "*" + input3.value + "*" var cond4 = "setumei=" + "*" + input4.value + "*" var cond5 = "hit=" + "*" + input5.value + "*" var cond_all = cond1 + "&" + cond2 + "&" + cond3 + "&" + cond4 + "&" + cond5 JavaScriptData.object.Filter = cond_all JavaScriptData.Reset() checkCount() } } function filterReset() { input1.value = "" input2.value = "" input3.value = "" input4.value = "" input5.value = "" JavaScriptData.object.Filter = "" JavaScriptData.Reset() checkCount() } function checkTotal() { span1.innerText = JavaScriptData.recordset.recordCount span2.innerText = JavaScriptData.recordset.recordCount } function checkCount() { span1.innerText = JavaScriptData.recordset.recordCount } </script> </head> <body onload="checkTotal()"> <center><button onclick="table1.previousPage()">前の検索結果に戻る&lt;</button><button onclick="table1.nextPage()">&gt;次の検索結果に進む</button><button onclick="filterRec()">キーワードで絞込を実行</button><button onclick="filterReset()">絞込を解除</button> <font size="2">全<span id="span2"></span>件の中から<font color="#ff0000"><span id="span1"></span></font>件が該当しました。</font> <!--見出し設定はじまり--> <table id="table1" style="FONT-SIZE: 9pt" datasrc="#JavaScriptData" width="850" dataPageSize="5"><thead> <tr style="COLOR: white; BACKGROUND-COLOR: #d90005"> <td align="center"><strong>番号</strong><br><input id="input1" style="FONT-SIZE: 8pt" size="10"></input><br><br><br></td> <td align="center"><strong>画像</strong><br><input id="input2" style="FONT-SIZE: 8pt" size="10"><br><br><br></td> <td align="center"><strong>名称</strong><br><input id="input3" style="FONT-SIZE: 8pt" size="40"></input><br></td> <td align="center"><strong>説明</strong><br><input id="input4" style="FONT-SIZE: 8pt" size="50"></input></td> <td align="center"><strong>HIT<input id="input5" style="FONT-SIZE: 8pt" size="15"></input></td></tr></thead> <!--見出し設定おわり--> <tbody><tr style="BACKGROUND-COLOR: wheat"><td align="center"><span datafld="id" datasrc="#JavaScriptData"></span></td> <td><datasrc="#JavaScriptData"><img datafld="photo" src="#JavaScriptData"></a></td> <td><span datafld="name"></span></td> <td><span datafld="setumei"></span></td> <td><span datafld="hit"></span></td></tr></tbody></table></center> <!-- データベース用オブジェクトの指定 --> <object id="JavaScriptData" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"><param name="RowDelim" value=" "><param name="FieldDelim" value=","><param name="TextQualifier" value='"'><param name="EscapeChar" value=""><param name="UseHeader" value="-1"><param name="SortAscending" value="-1"><param name="SortColumn" value=""><param name="FilterValue" value=""><param name="FilterCriterion" value="??"><param name="FilterColumn" value=""><param name="CharSet" value=""><param name="Language" value="ja"><param name="CaseSensitive" value="-1"><param name="Sort" value=""><param name="Filter" value=""><param name="AppendData" value="0"><param name="DataURL" value="data.csv"><param name="ReadyState" value="4"></object> 【経緯】 1 Ajaxを思考錯誤 (挫折) 2 <param name="AppendData" value="0">を編集 (挫折) 最後の手段として熟知者の知恵をお借りしたいと思います。

みんなの回答

回答No.2

> 1 Ajaxを思考錯誤 (挫折) と書いてあり、SpryっぽいフレームワークのコードがあるのでAjaxの話だと思ったのですが、DHTMLのデータバインドでしょうか? DHTMLのデータバインドとAjaxは全く関係ありません。(全く、というと語弊があるかも知れませんが) 残念ながらDHTMLのデータバインドについてはそれほど詳しくないので何とも言えませんが、<param>を増やすなどしてみてはいかがでしょうか。 それでだめならすみませんが、私にはわかりません。

回答No.1

IE(DHTML)のデータバインドではなくJavaScriptでのデータ表示でしょうか? それなら分割したファイルをそれぞれ読み込み、 responseTextを"\n"で連結すれば、1つの大きなCSVデータとして使用できると思います。

C-baby
質問者

補足

早速の回答ありがとうございます。 >responseTextを"\n"で連結 とは、 <param name="DataURL" value="data1.csv" \n "data1.csv" \n "data2.csv" \n "data3.csv"> とすればいいですか? それとも、どこかに新たな文を作る必要がありますか? Javascriptに関しては、「無知」なので質問文内のスクリプトが引用できるなら、スクリプトのどの行にresponseTextを記入して"\n"で連結させるのか、もう少し詳しくお願いいたします。

関連するQ&A

  • データバインドで生成したテーブルの行の色を変えたい

    データバインドで生成したテーブルの各行のセルの色を 各データが持っている色で表示したいと考えています。 以下のようなcsvとhtmlを作ってみたところ yamadaのセルをred、suzukiのセルをyellow、kondoのセルをblue と表示するところまではうまくいったのですが 次ページのtanakaがgreenではなくてredのままになってしまいます。 何か良い方法をご存知の方がいらっしゃいましたら教えてください! よろしくお願いいたします。 <a.csv> ----------------- name,color yamada,red suzuki,yellow kondo,blue tanaka,green ito,aqua saito,red nakanisi,yellow ota,blue isikawa,green naito,aqua nisino,red azuma,yellow <a.html> ----------------- <script type="text/javascript"> <!-- function chStyle() { for(i=0; i<3; i++){ gyo0[i].style.backgroundColor = td_color[i].value; } } --> </script> <body onload="chStyle();"> <TABLE DATASRC="#ID1" BORDER=1 DATAPAGESIZE=3 ID="table1"> <TR> <TD id="gyo0"><SPAN DATAFLD="color"></SPAN></TD> <TD> <SPAN DATAFLD="name"></SPAN> <INPUT TYPE="hidden"datasrc="#ID1" DATAFLD="color" id="td_color"> </TD> </TR> </TABLE> <BUTTON onclick="table1.previousPage()">BACK</BUTTON> <BUTTON onclick="table1.nextPage()">NEXT</BUTTON> <OBJECT classid="clsid:333c7bc4-460f-11d0-bc04-0080c7055a83" id="ID1"> <PARAM name="CharSet" value="shift-jis"> <PARAM name="DataURL" value="a.csv"> <PARAM name="UseHeader" value="true"> </OBJECT> </body> </html>

  • csvファイルのデータを変数として取込むには?

    javascriptは1年生です^^ データバインドを利用して、テーブルにデータを表示しています。 document.write("<object id='setData' classid='clsid:333C7BC4-460F-11D0-BC04-0080C7055A83'>"); document.write("<param name='DataURL' value='setdata.csv'>"); document.write("<param name='UseHeader' value='true'>"); document.write("</object>"); document.write("<table border='1' datasrc='#setData'>"); document.write("<tr>"); document.write("<td><span datafld='data1'></span></td>"); とこんな感じで続くのですが、csvファイルのデータには、セル幅や背景色等の設定値も含まれています。 これらのデータは表示用のデータではないので、変数として取込まなければなりません。 普通なら、bodyタグの中に、 <input type="hiden" datafld="optionData1"> と書いて、そこからjavascriptで取込むことは可能ですが、document.writeを使うとbodyタグの中が書き換わってしまうので使えません。 (csvファイルの1行分のデータを、HTMLのテーブルで表示する時には、4行~6行と行数が変動するので、予めテーブルをbodyタグの中に書いておくことが出来ません。テーブル行数はスクリプト内で決定するので。なのでbodyタグの中は空でオールjavascriptでHTMLを生成しています) もう一つの方法はフレームを使って、parentで、データを送ることも考えたのですが、もっとスマートな方法はないでしょうか??

  • csvファイルの内容を絞り込みたいのですが

    csvファイルの内容を絞り込んで表示させようと思っているのですが、うまくいきません。考えて色々やって見たのですが出来ないので、どなたかアドバイスを頂けないでしょうか。 <form name="myFORM"> 人数を選択してください      <select name="myNinzuu"> <option selected value=1>1人 <option value=2>2人 <option value=3>3人 </select> <input type="button" value="データを表示" onClick="window.open('data.html','_blank')" /> </form> ------------------data.html------------------------ <html> <script type="text/javascript"><!-- var Sanka = new Array[iti,ni,san]; var Index = document.myFORM.myNinzuu.value; if(window.opener.myFORM.Ninzuu.value){ document.write('<object id="myDatabase" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">'); document.write('<param name="DataURL" value="data.csv">'); document.write('<param name="UseHeader" value="true">'); document.write('</object>'); } --></script> <body> <table datasrc="#myDatabase" id="myTBL"> <tr> <td><DIV datafld="ikisaki"></DIV></td> <td><DIV datafld="Sanka[Index]"></DIV></td> </tr> </table> </body></html> ------------------csvファイル------------------------ ikisaki,iti,ni,san, 東京,28000,54000,75000, 名古屋、15000,28000,40000, 広島、18000,23000,47000, 所々消したので文法的に大間違いがあるかもしれませんが・・・ csvファイルのx軸を絞り込みたいのです。 まだまだ勉強不足でわかってないところが多く、根本的に間違っているかもしれませんが、その辺の指摘も含めてお願いします。

  • CSVファイルのデータを元に別ファイルを開く

    データバインドという機能を使用し、CSVファイルをテーブル形式で表示するHTML文書を作成しました。 項目[FILENAME]の代わりに画像を表示しクリックすると、他のパソコンの共有フォルダに 格納されているEXCELファイル(ファイル名=FILENAME)が開くという機能をつけたのですが 「onclick=」で処理を呼び出す際、項目[FILENAME]の値をVbscriptの処理に渡す方法が どうしてもわからず悩んでいます。 (プログラムに直接ファイル名を記述すると正常にファイルを開くことができます) どなたかご存じの方がいらっしゃいましたら、何卒ご教授下さいますようよろしくお願いいたします。 「master.csv」 NO,USER,FILENAME 001,山本,伝票0526 001,田中,伝票0526 001,小川,伝票0526 「index.html」 <object id="ID1" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"> <param name="DB" value="master.csv"> </object> <table datasrc="#ID1" border=1> <tr> <td><span datafld="NO"></span></td> <td><span datafld="USER"></span></td> <td><span datafld="FILENAME"></span></td>  <a datafld="FILENAME" onclick=CallXLS("伝票0526")>  <img src="imgs/go.gif" BORDER="0">  </a></td> </tr> </table> <script language=VBScript> Function CallXLS(DENPYO) Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open("\\IPアドレス\経理\会計\" & DENPYO & ".xls") End Function </script>

    • ベストアンサー
    • HTML
  • データバインドで表示された文字の一部を表示させない

    アクセスのクエリーより、モジュールで作成したCSVファイルを、HTMLでデータバインド表示させています。 CSVの表の中には、日付と時刻というフィールドがあり、それぞれ、次の様に表示されています。 表示レコードの一例: 日付フィールド→2008/6/10 0:00 (日付の後ろに必ず 0:00がついてすしまっています) 時刻フィールド→1899/12/30 9:00:00 (時刻の前に必ず 1899/12/30がついてしまっています) 上記の 0:00 とか 1899/12/30 を ブラウザ側(HTML側)の小手先技で表示させない方法は無いでしょうか? <table datasrc="#ID1" border=1> <tr> <td><span datafld="Column1"></span></td> <td><span datafld="Column2"></span></td> <td><span datafld="Column3"></span></td> </tr> </table> ちなみに、Column1とColumn2 で、表示されるデータになります。 アクセス側でCSVを作成する段で解消すべきと思いますが、シス担当の権限割が違って手を出せないので(仮に手を出したとしても、アクセスの知識が無いので解決する力が無いので、私には無理と思います) よろしく、お願いします。

  • データバインド機能でand検索をしたいので方法をご教授ください

    よろしくお願いいたします。 現在、データバインド機能を使用して検索画面を作っております。 javascriptは初心者なので手探りで作っておりますが、 イメージとしましては (1)複数項目をドロップダウンメニューで選択しアンド条件で絞込みます。 (2)その結果をテーブルとして表示したいのです。 (3)テーブルは最初から表示されていなくて、テーブルヘッダーの部分だけを表示させておきたい。 (4)オールクリアのボタンをクリックするとまたもとの状態のテーブルヘッダーだけを表示する。 といった感じです。 初心者なのでまったくわかりません。 ソースは以下になります。 ご教授よろしくお願いいたします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> <TITLE>データバインドル</TITLE> <script language="javascript"> <!-- function ShowTable() { //selectにて選択された値を取得します。 var nIndex; nIndex = document.frmSample.selNumber.value; //データにフィルタをかけます。 objDataBind.FilterValue=nIndex; objDataBind.FilterColumn="num"; objDataBind.FilterCriterion="="; objDataBind.Reset(); } //--> </script> </HEAD> <BODY> <FORM name="frmSample"> <SELECT NAME="selNumber"> <OPTION SELECTED VALUE="1">1 <OPTION VALUE="2">2 <OPTION VALUE="3">3 <OPTION VALUE="4">4 </SELECT> <INPUT TYPE="button" value="データを表示" onClick="ShowTable()"> <SELECT NAME="seltitle"> <OPTION VALUE="うさぎ">うさぎ <OPTION VALUE="かめ">かめ <OPTION VALUE="ねこ">ねこ <OPTION VALUE="いぬ">いぬ </SELECT> <INPUT TYPE="button" value="データを表示" onClick="ShowTable()"> </FORM> <OBJECT classid="clsid:333c7bc4-460f-11d0-bc04-0080c7055a83" id="objDataBind" height="0" width="0"> <PARAM NAME="DataURL" VALUE="base.csv"> <PARAM NAME="UseHeader" VALUE="true"> <PARAM NAME="FieldDelim" VALUE=","> <PARAM NAME="CharSet" VALUE="shift_jis"> </OBJECT> <TABLE DATASRC="#objDataBind" BORDER="1" ID="tblData"> <thead> <TR> <Th><div>番号</div></Th> <Th><div>タイトル</div></Th> </TR> </thead> <TBODY> <TR> <TD><DIV datafld="num"></DIV></TD> <TD><DIV datafld="title"></DIV></TD> </TR> </TBODY> </TABLE> </BODY> </HTML> csvファイルは以下のとおりです。 num,title 1,うさぎ 2,かめ 3,ネコ 4,犬 5,かめ

  • @×× = $q->param('**'); の書き出しについて

    このようなチェックボックスを作って <INPUT type="checkbox" name="q1" value="A">A<br> <INPUT type="checkbox" name="q1" value="B">B<br> <INPUT type="checkbox" name="q1" value="C">C<br> このようなPerlの記述をして use CGI; $q = new CGI; @q1 = $q->param('q1'); このようなCGIの値の書き出し部分はどうしたらいいですか? print "<td width=300><font size=2>●●{'q2'}</font>&nbsp;</td>\n"; 上記の @q1 = $q->param('q1'); に、チェックされた値が格納されているんですよね。 その値を表示させたいと思っています。 いろいろ教えてもらって、ここまでたどり着きました。

    • ベストアンサー
    • Perl
  • フォームで入力項目を全て別の確認画面に出したい

    JavaScriptでフォームを作成しています。 入力項目を別の確認画面に出したいのですが 組み合わせている内に、わからなくなってしまいました。どうかお助けください。(>_<) チェックボックスの所は、3つ以上チェックできないようにしてあります。 1.別ウィンドウ確認画面が出て確認する 2.OKならメールアドレスに送信&ありがとうございましたページへ(確認画面は閉じる) のようにしたいのですが、よろしくお願い致します。m(_ _)m ※尚、初心者の為何か失礼があったらすみません。 スクリプトでは足りない個所があるので、htmlを載せさせて頂きました。 ************************************************ <form name="myFORM" onClick="return check()"> <table> <tr><td> <table> <tr> <td> <input type="radio" name="plan" value="A"> A.</font></strong></div> </td> </tr> </table> <br> <table> <tr> <td> <input type="radio" name="plan" value="B"> B. </td> </tr> </table> <br> <table> <tr> <td>あ</td> <td> <input name="CB1" type="checkbox" id="CB12" value="あ"> </td> </tr> </table> チェックボックス全10項目中チェック3つまで<br> <br> *印は必須項目です<br> <table> <tr> <td>申込み内容</td> </tr> <tr> <td>会社名*</td> <td><input type="text" name="jimusho_name" size="30"></td> </tr> </table> テキストフォーム全9項目<br> <p>&nbsp; <input name="button" type="button" onClick="outdata();" value="送 信"> <input name="reset" type="reset" value="キャンセル">

  • CSV形式のExcelファイルをhtmlで表示

    訳あって以下のソースを使わなければなりません。 しかし、これだけではエラーになってしまいますよね? 私は初心者なので、その他何を加えれば実行できるのか、 その基礎的な部分がまったくわかりません。 以下がそのソースです。list1というExcelのデータを表示するものです。 <HTML> <HEAD> <TITLE> </HEAD> <OBJECT CLASSID="clasid:333c7bc4-460f11d0-bc04-0080c7055a83"ID=list> <PARAM NAME="CharSet"VALUE="shift-jis"> <PARAM NAME="DataURL"VALUE="list1.txt"> <PARAM NAME="UseHeader"VALUE="true"> </OBJECT> <TABLE ID="oTable" DATASRC=#list BORDER="2" BGCOLOR="#eeeeff"> <THEAD> <TR> <TD BGCOLOR="#ddddff"><B>品番</B></TD> <TD BGCOLOR="#ddddff"><B><CENTER>品名</CENTER></B></TD> <TD BGCOLOR="#ddddff"><B>カテゴリ</B></TD> <TD BGCOLOR="#ddddff"><B>定価</B></TD> <TD BGCOLOR="#ddddff"><B>特価</B></TD> <TD BGCOLOR="#ddddff"><B>在庫</B></TD> </TR> </THEAD> <TBODY> <TR> <TD><DIV DATAFLD=no ALIGN=right></DIV></TD> <TD><DIV DATAFLD=name></DIV></TD> <TD><DIV DATAFLD=shurui></DIV></TD> <TD><DIV DATAFLD=teika ALIGN=right></DIV></TD> <TD><DIV DATAFLD=tokka ALIGN=right></DIV></TD> <TD><DIV DATAFLD=zaiko ALIGN=right></DIV></TD> </TR> </TBODY> </TABLE> </HTML> どうかお願いしますm(__)m ちなみにエラーメッセージは <object>タグにwidht属性がありません <param>タグが<applet></applet>の外にあります です。 <applet>に何を書けばいいのかわかりません。 このソースの場合、データベースのデータを表示したいだけでもjavaファイルを作らなければならないということでしょうか? 無知でごめんなさいm(__)m 上記のソースだけ渡されてそれを実行しなければならないので、その他のことがまったくわからないのです。

  • アンケートをCSVに落とした時の並び順

    以下のHTMLのようなアンケートフォームを作っています. CSVに落とした時の並びを変えたいのですが,どなたかお知恵を貸していただけませんでしょうか. 記事1~3,それぞれのランクA~Eを選んだ後,BestとWorstを決定するものです. 今の状態だとCSVには,「name=○」の順番でいうと↓このように並びます. 記事10-1 11Best 12Worst 記事10-2 記事10-3 11-1 11-2 12-1 12-2 これを↓このように並んでCSVに落としたいのです. 記事10-1 記事10-2 記事10-3 11Best 11-1 11-2 12Worst 12-1 12-2 <table> <tr><td colspan="3" valign="top">記事1</td></tr> <tr> <td valign="top"> <label for='1_1'>  <input type=radio name="記事10-1" value="a" id='1_1'>A</label> <label for='1_2'><input type=radio name="記事10-1" value="b" id='1_2'>B</label> <label for='1_3'><input type=radio name="記事10-1" value="c" id='1_3'>C</label> <label for='1_4'><input type=radio name="記事10-1" value="d" id='1_4'>D</label> <label for='1_5'><input type=radio name="記事10-1" value="e" id='1_5' checked>E</label> </td> <td align="center" valign="top"><input type=radio name="11Best" value="1"></td> <td align="center" valign="top"><input type=radio name="12Worst" value="1"></td> </tr> <tr><td colspan="3" valign="top">記事2</td></tr> <tr> <td valign="top"> <label for='2_1'>  <input type=radio name="記事10-2" value="a" id='1_1'>A</label> <label for='2_2'><input type=radio name="記事10-2" value="b" id='2_2'>B</label> <label for='2_3'><input type=radio name="記事10-2" value="c" id='2_3'>C</label> <label for='2_4'><input type=radio name="記事10-2" value="d" id='2_4'>D</label> <label for='2_5'><input type=radio name="記事10-2" value="e" id='2_5' checked>E</label> </td> <td align="center" valign="top"><input type=radio name="11Best" value="2"></td> <td align="center" valign="top"><input type=radio name="12Worst" value="2"></td> </tr> <tr><td colspan="3" valign="top">記事3</td></tr> <tr> <td valign="top"> <label for='3_1'>  <input type=radio name="記事10-3" value="a" id='1_1'>A</label> <label for='3_2'><input type=radio name="記事10-3" value="b" id='3_2'>B</label> <label for='3_3'><input type=radio name="記事10-3" value="c" id='3_3'>C</label> <label for='3_4'><input type=radio name="記事10-3" value="d" id='3_4'>D</label> <label for='3_5'><input type=radio name="記事10-3" value="e" id='3_5' checked>E</label> </td> <td align="center" valign="top"><input type=radio name="11Best" value="3"></td> <td align="center" valign="top"><input type=radio name="12Worst" value="3"></td> </tr> </table> <table> <tr><td valign="top">[11-1]Bestについて1</td></tr> <tr><td valign="top"><input name="11-1" type="text" value="" title="Best" size="100"></td></tr> <tr><td valign="top">[11-2]Bestについて2</td></tr> <tr> <td valign="top"> <label for='11_2a'> <input type=radio name="11-2" value="a" id='11_2a'>BestA</label> <label for='11_2b'><input type=radio name="11-2" value="b" id='11_2b'>BestB</label> </td> </tr> <tr><td valign="top">[12-1]Worstについて1</td></tr> <tr><td valign="top"><input name="12-1" type="text" value="" title="Worst" size="100"></td></tr> <tr><td valign="top">[12-2]Worstについて2</td></tr> <tr> <td valign="top"> <label for='12_2a'> <input type=radio name="12-2" value="a" id='12_2a'>WorstA</label> <label for='12_2b'><input type=radio name="12-2" value="b" id='11_2b'>WorstB</label> </td> </tr> このHTML内なのか,cgi内なのか,どこでどのように設定したらよいでしょうか. 例えば,「name="11Best"」を「name="11-0"」にすればよいとか,そのくらいで並びが変わったり・・・しませんよね. 質問もつたなくうまくお伝えできるか分かりませんが,アドバイスいただけると大変助かります. なにとぞよろしくお願いいたします.

専門家に質問してみよう