C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: テキストボックス生成


(過去ログ 21 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■8851 / inTopicNo.1)  テキストボックス生成
  
□投稿者/ あく (1回)-(2007/10/11(Thu) 14:25:59)

分類:[.NET 全般] 

2007/10/11(Thu) 14:41:39 編集(投稿者)

開発環境:ASP.NET C# SQL2005 webアプリ開発

データベースから登録されたデータの数(count)を取得し
取得したデータ数によりVSのテキストボックスを表示するものを作成します。
登録数に応じテキストボックスをそこで生成しIDなど作成しないと
その生成されたテキストボックスの値を受け取りデータベースに
登録できないと思うのですが、どのように作成したらいいのか
ご教授お願いいたします。

お願いします
引用返信 編集キー/
■8856 / inTopicNo.2)  Re[1]: テキストボックス生成
□投稿者/ επιστημη (606回)-(2007/10/11(Thu) 16:06:31)
επιστημη さんの Web サイト
> 登録数に応じテキストボックスをそこで生成しIDなど作成しないと
> その生成されたテキストボックスの値を受け取りデータベースに
> 登録できないと思うのですが、どのように作成したらいいのか
> ご教授お願いいたします。

たとえばformにTextBoxを追加するなら:

  TextBox box = new TextBox();
box.Localion = 位置(xとy)
box.Size = 大きさ(高さと幅)
  this.Controls.Add(box); // このthisはFormね。


引用返信 編集キー/
■8872 / inTopicNo.3)  Re[2]: テキストボックス生成
□投稿者/ えく (3回)-(2007/10/12(Fri) 00:40:33)
No8856 (επιστημη さん) に返信
>>登録数に応じテキストボックスをそこで生成しIDなど作成しないと
>>その生成されたテキストボックスの値を受け取りデータベースに
>>登録できないと思うのですが、どのように作成したらいいのか
>>ご教授お願いいたします。
>
> たとえばformにTextBoxを追加するなら:
>
>   TextBox box = new TextBox();
> box.Localion = 位置(xとy)
> box.Size = 大きさ(高さと幅)
>   this.Controls.Add(box); // このthisはFormね。
ありがとうございます
出来ました。
もう一つ聞きたいんですが、あらかじめ用意されたHTMLのテーブルの中へ表示するにはどうしたらいいのでしょうか
お願いいたします

引用返信 編集キー/
■8873 / inTopicNo.4)  Re[3]: テキストボックス生成
□投稿者/ 片桐 (49回)-(2007/10/12(Fri) 00:57:22)
片桐 さんの Web サイト
ふとイメージした処理のフロー

・aspxのHTMLでGridViewもしくはRepeatItemを作成
・Itemテンプレートにテキストボックスをセット
・データベースから情報を抜き取ってDataTableにして、GridViewにBind
 
とすると、情報からTEXTBOXを作成して画面に表示できるし、
入力されたデータも取得できると思うのですけれど、いかがでしょう?
引用返信 編集キー/
■8879 / inTopicNo.5)  Re[4]: テキストボックス生成
□投稿者/ ぼのぼの (100回)-(2007/10/12(Fri) 12:03:56)
とりあえず、GridView、DataList、Repeaterの3つについて調べてみると良いのでは。

単純なtableならGridView、単純じゃないtableならDataList、tableを使わずに繰り返すならRepeaterってとこでしょうか?

指針間違ってたら指摘してください。>他の方
引用返信 編集キー/
■8880 / inTopicNo.6)  Re[5]: テキストボックス生成
□投稿者/ ぼのぼの (101回)-(2007/10/12(Fri) 12:20:09)
No8872 (えく さん) に返信
> あらかじめ用意されたHTMLのテーブルの中へ表示するにはどうしたらいいのでしょうか

あっ、見落としてたorz

ちょっと確認ですが、

(1)
+------+------+------+
|      |[    ]|      |
+------+------+------+ こんな感じで各セルに表示
|      |[    ]|      | [    ]がテキストボックスね
+------+------+------+
|      |[    ]|      |
+------+------+------+

(2)
+------+------+------+
|      |      |      |
+------+------+------+
|      |      |      |
+------+------+------+
|      |[    ]|      | こんな感じであるセルに表示
|      |[    ]|      |
|      |[    ]|      |
+------+------+------+

のどっちのイメージでしょうか?

(1)なら「あらかじめ用意されたHTMLのテーブル」の行数が静的なものなら
データの数に応じてってのは変ですよね。

(2)なら対象セル内に先に挙げた3つのどれかを置けば良さそう。

引用返信 編集キー/
■8886 / inTopicNo.7)  Re[6]: テキストボックス生成
□投稿者/ あく (2回)-(2007/10/12(Fri) 13:56:24)
アドバイスありがとうございます
gridviewなどを使用しがんばってみます。

その前に
TextBox box = new TextBox();
Form1.FindControl("testtable").Controls.Add(box);

でtesttableはサーバコントロールではなくHTMLのテーブルのIDなんですがこれではやはりそこへ
表示できませんでした。
form1のHTMLのID testtableへテキストボックスを表示するにはどうしたらいいのでしょうか?

お願いします
引用返信 編集キー/
■8890 / inTopicNo.8)  Re[7]: テキストボックス生成
□投稿者/ ぼのぼの (102回)-(2007/10/12(Fri) 15:04:38)
2007/10/12(Fri) 18:00:05 編集(投稿者)

No8886 (あく さん) に返信
> その前に
> TextBox box = new TextBox();
> Form1.FindControl("testtable").Controls.Add(box);
>
> でtesttableはサーバコントロールではなくHTMLのテーブルのIDなんですがこれではやはりそこへ
> 表示できませんでした。
> form1のHTMLのID testtableへテキストボックスを表示するにはどうしたらいいのでしょうか?

testtableにrunat="server"属性は付いていますか?
付いていなければFindContolはnullを返すと思います。

runat="server"属性が付いていないコントロールにはサーバ側のコードからアクセスできません。
WebコントロールのTable(System.Web.UI.WebControls.Tableクラス)を使うか、
tableタグにrunat="server"をつける(System.Web.UI.HtmlControls.HtmlTableクラス)を使うかしないと。

あと、tableにAddするのではなく、tableからtrを、trからtdを取得し、tdに対してAddすることになるかと。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -