アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いいたします。

現在、データバインド機能を使用して検索画面を作っております。
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,かめ

A 回答 (2件)

すみません、言葉が少し足りてなかったかもしれないです。


 //データにフィルタをかけます。
 以降の4行を消してから
と書く予定でした・・・

↓こんな感じに(目的の動作が分からないので例として適切か分かりませんが応用してください)

function ShowTable()
{
//selectにて選択された値を取得します。
var nIndex,tIndex;
nIndex = document.frmSample.selNumber.value;
tIndex = document.frmSample.seltitle.value;
//データにフィルタをかけます。
objDataBind.Filter="num=" + nIndex + "&title=" + tIndex;
objDataBind.reset();
}


あと、これでもだめなら、私も違いがよくわかってませんが
objDataBind.object.Filter="num=" + nIndex + "&title=" + tIndex;
objDataBind.object.reset();
とかも試してください。
    • good
    • 0
この回答へのお礼

15mm様
ご丁寧な回答ありがとうございました。
完璧に思っていた通りのものが出来ました!!
感謝、感謝、感激です。

本当にどうもありがとうございました。
今後ともどうぞよろしくお願いいたします。

お礼日時:2008/08/10 09:55

(1)(2) numが重複しないのであれば、numとtitle両方をフィルタする必要は無いです。



・objDataBind.Filter="num=1&title=うさぎ";objDataBind.reset();
・objDataBind.Filter="num>1&title=*め";objDataBind.reset();

とかがうまく動作してくれたらこれを参考にしてみてください。

(3)
<PARAM NAME="Filter" VALUE="num<0">とか、絶対にこの条件ではヒットする項目は無いというフィルタを指定

(4) (3)のようなフィルタ指定をすれば何も表示されない
objDataBind.Filter="num<0";objDataBind.reset();



IE標準のデータバインドのようなので、参考URLも覗いてみてください。
http://www.makoto3.net/document/databind/databin …

余計なお世話ですが、
<script type="text/javascript">を推奨します。
<TITLE>データバインドル</TITLE>←一文字多い?

参考URL:http://www.makoto3.net/document/databind/databin …
    • good
    • 0
この回答へのお礼

15mm様
わかりやすいご回答を下さりありがとうございました。
早速試してみましたが私の記述の仕方が悪いのか、テーブルヘッダーのみ表示はされたのですが、フィルタをかけても何もヒットされませんでした。
頂いた参考URLも覗いてみたのですが、どれも全てデータが表示された状態で初心者の私では応用することができませんでした。

お礼日時:2008/08/08 22:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!