- PR -

(ASP.NET) Tableタグにデータ表示

1
投稿者投稿内容
chami
会議室デビュー日: 2004/10/20
投稿数: 13
お住まい・勤務地: 大阪
投稿日時: 2005-01-19 16:20
初めて投稿致します。
ご教授よろしくお願いします。

(環境)
Webサーバ:Windows2003 IIS6.0
DBサーバ:WindowsXP Oracle8i 8.1.6.0
開発環境:WindowsXP VS.NET2003
oracle接続 ODP.NET 9.2.0.20

ASP.NETで、
Page_Load時にSQL文を発行して、
そのSQLで取得したデータを
<Table>タグの<TD></TD>タグ
に表示することは可能でしょうか?

イメージ的には
(sample.aspx)
<html>
<body>
<table>
<tr>
<td><%# ID %></td>
<td><%# NAME %></td>
</tr>
</table>
</body>
</html>

(sample.aspx.vb)
Private Sub Page_Load(sender 〜, e 〜) Handles MyBase.Load

oda = New OracleDataAdapter
oraCommand = New OracleCommand
dt = New DataSet

oraCommand.CommandText = "select ID,NAME from sampleDB"
oraCommand.CommandType = CommandType.Text
oda.Fill(dt)
DataBind()

end Sub

上記のソースはあくまでイメージですので・・・(^^;

DataGridやDataList等であれば簡単に連結させて
表示することはできるのですが、
あらかじめデザインされている<Table>タグに
<%# ID %> みたいな感じで表示できないかぁと思いまして
投稿させて頂きました。
初歩的な質問で申し訳ないですが
よろしくお願い致します。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-01-19 16:41
引用:

<td><%# ID %></td>
<td><%# NAME %></td>


Literalクラスが使えるかもしれませんので、試してみてください。
リンク先にサンプルがありますよ。

.NET Framework クラス ライブラリ
Literal クラス
静的テキストを表示する Web ページ上の位置を予約します。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebuiwebcontrolsliteralclasstopic.asp

_________________
たつごろー
codeseek
こみゅぷらす
chami
会議室デビュー日: 2004/10/20
投稿数: 13
お住まい・勤務地: 大阪
投稿日時: 2005-01-19 17:50
たつごろー様
ご返答ありがとうございます。

Literalクラスを使うということは、

aspx側で、

<TD><asp:Literal id="Literal1" runat="server"></asp:Literal></TD>

aspx.vb側で、

Literal1.text = "SQLで取得したデータ"

といった感じでしょうか?
これで実現できるかどうか試してみます。

ただ、これだと<td></td>の数だけLiteralを用意してあげて
<td></td>に埋め込まないといけないからちょっと手間かなぁ・・・

<td><%# ID %></td>
が仮にできたとしても
<%# ID %>
を埋め込まないといけないから手間的には一緒なのかもしれませんが・・・(^^;
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-01-19 17:58
だったら、
コード:
<%= 式 %>

を使うとか。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-01-19 17:58
Repeaterコントロールとか。
http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet12/aspnet12_03.html
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-01-19 21:13
 なんにしても、単なるHTMLは「繰り返す」ことを理解できないので、サーバコードを介さなければなりません。
 おそらく、Java Strutsのタグと同じことがされたいのだと思いますが、DataGridコントロールを使うと簡単です。SQLの実行結果をDataTableに入れるようにして、それをDataGridのDataSourceに指定し、バインドすれば勝手にテーブルに展開してくれます。

_________________
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2005-01-20 02:18
JittaさんのおっしゃるようにDataGridが楽です。

テーブルをある程度自分で操作したいならTableコントロール(<asp:Table )もいいです。

本当に「あらかじめデザインされている<Table>タグに」が要件なのなら
<TR><asp:Literal id="Literal1" runat="server"></asp:Literal></TR>
としておいてaspx.vb側で、
Literal1.text += "<TD>"+"SQLで取得したデータ"+"</TD>"
Literal1.text += "<TD>"+"SQLで取得したデータ"+"</TD>"

とすれば「<td></td>の数だけLiteralを用意してあげて」は一応回避できます。

Repeaterとか連結式(<%= %>)とかもあるし、要件によって方法は様々あります。
chami
会議室デビュー日: 2004/10/20
投稿数: 13
お住まい・勤務地: 大阪
投稿日時: 2005-01-20 09:08
べる様、Jitta様、todo様、にしざき様
貴重なご意見ありがとうございました。

これらのご意見を参考にプログラムを作成していくつもりです。
また何かあれば投稿させて頂きます。
本当にありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)