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

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

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

Re[4]: テーブルタグの動的追加方法


(過去ログ 124 を表示中)

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

■74201 / inTopicNo.1)  テーブルタグの動的追加方法
  
□投稿者/ たいよう (4回)-(2014/12/08(Mon) 11:45:49)

分類:[ASP.NET (VB)] 

お世話になっております。
前回(http://bbs.wankuma.com/index.cgi?mode=al2&namber=73870)大変お世話になりましたたいようです。
その説はいろいろとご教授頂きありがとうございました。

大変申し訳ないのですがまた分からない点が出てきてしまいましたのでどなたかご教授下さい。

ASP.NETでコード側でTableタグを追加しようと考えております。
http://msdn.microsoft.com/ja-jp/library/7bewx260%28v=vs.100%29.aspx を参考にいろいろとやってみたのですがうまくいきませんでした…

作成しようとしているテーブル(html)
<table border="2" rules="all">
<tr >
<td>
<asp:Button ID="Button1" runat="server" Text="修正" style="width:60px;"/>&nbsp;&nbsp;
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="名前"></asp:Label>
<br />
<asp:Label ID="Label6" runat="server" Text="名前"></asp:Label>
</td>
<td>
<asp:Label ID="Label7" runat="server" Text="性別"></asp:Label>
<br />
<asp:Label ID="Label8" runat="server" Text="性別"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label11" runat="server" Text="コメント"/>
</td>
<td colspan="2">
<asp:Label ID="Label12" runat="server" Text="コメント"></asp:Label>
</td>
</tr>
</table>

VB.NET(失敗ソース)
Dim Table As System.Web.UI.WebControls.Table

Table = New Table()
Table.Style("Top") = "100px"
Table.Style("Left") = "100px"
Table.Style("rules") = "all"
Table.Style("border") = "2"

' Total number of rows.
Dim rowCnt As Integer
' Current row count
Dim rowCtr As Integer
' Total number of cells (columns).
Dim cellCtr As Integer
' Current cell counter.
Dim cellCnt As Integer

rowCnt = 2
cellCnt = 3

For rowCtr = 1 To rowCnt
Dim tRow As New TableRow()
For cellCtr = 1 To cellCnt
Dim tCell As New TableCell()
tCell.Text = "Row " & rowCtr & ", Cell " & cellCtr
' Add new TableCell object to row.
tRow.Cells.Add(tCell)
Next
' Add new row to table.
Table.Rows.Add(tRow)
Next
※最初にテーブルが作成されているか知りたかったため、このソースをからテストを行いました。


お手数お掛けしますがVB側で『作成しようとしているテーブル(html)』みたいなものを作成する場合どのようにすればよろしいのでしょうか。




引用返信 編集キー/
■74207 / inTopicNo.2)  Re[1]: テーブルタグの動的追加方法
□投稿者/ WebSurfer (414回)-(2014/12/08(Mon) 12:40:53)
No74201 (たいよう さん) に返信

> ASP.NETでコード側でTableタグを追加しようと考えております。

Table Web サーバー コントロールを使うのは、Web カスタムコントロールの
開発者にほぼ限られると思うのですが、そのような目的でしょうか?

それとも勉強のためでしょうか?

そうでなければ GridView や ListView を使えば済むはずなので、途中で方針
転換されて、ここでの Q&A が無駄になっては何なのでお聞きしています。


> うまくいきませんでした…

何がどのようにうまくいかなかったのか不明です。

それを書くことは掲示板での Q&A の基本ですのでよろしくお願いします。
引用返信 編集キー/
■74214 / inTopicNo.3)  Re[2]: テーブルタグの動的追加方法
□投稿者/ たいよう (5回)-(2014/12/08(Mon) 14:45:25)
No74207 (WebSurfer さん) に返信
→WebSurfer様
 前回に引き続き回答ありがとうございます。
 
> Table Web サーバー コントロールを使うのは、Web カスタムコントロールの
> 開発者にほぼ限られると思うのですが、そのような目的でしょうか?
→GridView や ListViewの事を忘れておりました。
 最初にテーブルタグを使用し、このまま複数個増やすことは出来るかどうか気になった為、今回の質問に至ります。
 GridView や ListView使用して作成することが出来るかどうか一度調べてみようと思います。

> 何がどのようにうまくいかなかったのか不明です。
>
> それを書くことは掲示板での Q&A の基本ですのでよろしくお願いします。
→大変申し訳ございません。
 実行した時にコードで記載したテーブルが作成されていない状況でした。
 ※コードはエラーが無い状況です。

 
引用返信 編集キー/
■74215 / inTopicNo.4)  Re[3]: テーブルタグの動的追加方法
□投稿者/ WebSurfer (416回)-(2014/12/08(Mon) 16:13:16)
No74214 (たいよう さん) に返信

> →GridView や ListViewの事を忘れておりました。
> 最初にテーブルタグを使用し、このまま複数個増やすことは出来るかどうか気になった為、今回の質問に至ります。
> GridView や ListView使用して作成することが出来るかどうか一度調べてみようと思います。

単純に自分の興味や勉強のため、Table サーバーコントロールを使ってテーブルを作ってみ
たいという話であれば、それはそれで結構ですが、本来の目的は別のところにあるとすると、
まず最初にその目的を達成するのにどういう手段を取るのが最適かを考えませんか?

それにも知識やスキルが必要なので初心者の方には難しいのかもしれませんが、そうであれ
ば、局所的な質問だけでなく、全体のシナリオを含めて何がしたいのかを書いください。

そうすれば、質問の部分は実現困難もしくは目的達成に不適切でも、「それはできない or 
不適切だけど、やりたいことはこうすれば実現できる」というような代案が出せるかもしれ
ません。

面倒なことを言うと思うかもしれませんが、タイムリーに的を得た回答が得やすくなるとい
うことで、質問者さんにメリットのあることです。是非、考えてみてください。

で、注文をつけるばかりではなんですので、最初の質問に書いてあった「作成しようとして
いるテーブル(html)」を Table, TableRow, TableCell サーバーコントロールを使って作る
方法を書いておきます。

本来の目的を達成するためには、こんな面倒なことをする意味はないのでは?

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        // テーブル大枠
        Table table = new Table();
        table.Attributes.Add("border", "2");
        table.Attributes.Add("rules", "all");

        // 1 行目
        TableRow row = new TableRow();
        
        // 1 行目の 1 列目
        TableCell cell = new TableCell();
        Button button = new Button();
        button.ID = "Button1";
        button.Text = "修正";
        button.Style.Add("width", "60px");
        cell.Controls.Add(button);
        Literal literal = new Literal();
        literal.Text = "&nbsp;&nbsp;";        
        cell.Controls.Add(literal);
        row.Controls.Add(cell);

        // 1 行目の 2 列目
        cell = new TableCell();
        Label label = new Label();
        label.ID = "Label5";
        label.Text = "名前";
        cell.Controls.Add(label);
        literal = new Literal();
        literal.Text = "<br />";
        cell.Controls.Add(literal);
        label = new Label();
        label.ID = "Label6";
        label.Text = "名前";
        cell.Controls.Add(label);
        row.Controls.Add(cell);

        // 1 行目の 3 列目
        cell = new TableCell();
        label = new Label();
        label.ID = "Label7";
        label.Text = "性別";
        cell.Controls.Add(label);
        literal = new Literal();
        literal.Text = "<br />";
        cell.Controls.Add(literal);
        label = new Label();
        label.ID = "Label8";
        label.Text = "性別";
        cell.Controls.Add(label);
        row.Controls.Add(cell);

        table.Rows.Add(row);

        // 2 行目
        row = new TableRow();

        // 2 行目の 1 列目
        cell = new TableCell();
        label = new Label();
        label.ID = "Label11";
        label.Text = "コメント";
        cell.Controls.Add(label);
        row.Controls.Add(cell);

        // 2 行目の 2 列目
        cell = new TableCell();
        cell.Attributes.Add("colspan", "2");
        label = new Label();
        label.ID = "Label12";
        label.Text = "コメント";
        cell.Controls.Add(label);
        row.Controls.Add(cell);

        table.Rows.Add(row);

        PlaceHolder1.Controls.Add(table);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <table border="2" rules="all">
            <tr>
                <td>
                    <asp:Button ID="Button1" runat="server" Text="修正" style="width:60px;"/>&nbsp;&nbsp;
                </td>
                <td>
                    <asp:Label ID="Label5" runat="server" Text="名前"></asp:Label>
                    <br />
                    <asp:Label ID="Label6" runat="server" Text="名前"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label7" runat="server" Text="性別"></asp:Label>
                    <br />
                    <asp:Label ID="Label8" runat="server" Text="性別"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="Label11" runat="server" Text="コメント"/>
                </td>
                <td colspan="2">
                    <asp:Label ID="Label12" runat="server" Text="コメント"></asp:Label>
                </td>
            </tr>
        </table>
        
        <br />

        <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    </form>
</body>
</html>

コピペすれば動きます。PlaceHolder1 に、その上の html 要素で作ったテーブルと全く同じもの
が生成されるはずです)

引用返信 編集キー/
■74217 / inTopicNo.5)  Re[4]: テーブルタグの動的追加方法
□投稿者/ たいよう (6回)-(2014/12/08(Mon) 19:05:28)
No74215 (WebSurfer さん) に返信
> で、注文をつけるばかりではなんですので、最初の質問に書いてあった「作成しようとして
> いるテーブル(html)」を Table, TableRow, TableCell サーバーコントロールを使って作る
> 方法を書いておきます。
>
> コピペすれば動きます。PlaceHolder1 に、その上の html 要素で作ったテーブルと全く同じもの
> が生成されるはずです)
→質問の記載方法や今回私が変に記載してしまった質問の回答までして下さり、ありがとうございます。
 無事に動作を確認することが出来ました。

> 単純に自分の興味や勉強のため、Table サーバーコントロールを使ってテーブルを作ってみ
> たいという話であれば、それはそれで結構ですが、本来の目的は別のところにあるとすると、
> まず最初にその目的を達成するのにどういう手段を取るのが最適かを考えませんか?
>
> それにも知識やスキルが必要なので初心者の方には難しいのかもしれませんが、そうであれ
> ば、局所的な質問だけでなく、全体のシナリオを含めて何がしたいのかを書いください。
>
> そうすれば、質問の部分は実現困難もしくは目的達成に不適切でも、「それはできない or
> 不適切だけど、やりたいことはこうすれば実現できる」というような代案が出せるかもしれ
> ません。
>
> 面倒なことを言うと思うかもしれませんが、タイムリーに的を得た回答が得やすくなるとい
> うことで、質問者さんにメリットのあることです。是非、考えてみてください。
→質問の仕方が悪くご迷惑をお掛けしたことにつきまして大変申し訳ございませんでした。
 結果的に質問するにもそれなりのスキルが必要と言うことを認識致しました。
 今後は回答者様が質問内容について理解しやすいように質問を記載したいと思います。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -