Asp.Net

Repeaterコントロールの使い方

カスタマイズ可能のコントロールを画面上に表示させる

下記のソースコードではの実行例:
+Asp.Net+Repeaterコントロール_1.png

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>
    <script runat="server">
        void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                repeater1.DataSource = CreateDataSource();
                repeater1.DataBind();
            }
        }

        void ButtonSubmit_Click(object sender, EventArgs e)
        {
            foreach (RepeaterItem item in this.repeater1.Items)
            {
                TextBox tb = item.FindControl("TextBox1") as TextBox;

                this.LabelNames.Text += tb.Text;
            }
        }

        ICollection CreateDataSource()
        {
            string[] fi = new string[] { "John", "Mike" };
            DataTable dt = new DataTable();
            DataRow dr;

            dt.Columns.Add(new DataColumn("id", typeof(int)));
            dt.Columns.Add(new DataColumn("username", typeof(String)));
            dt.Columns.Add(new DataColumn("age", typeof(long)));

            for (int i = 0; i < fi.Length; i++)
            {
                dr = dt.NewRow();
                dr[0] = i + 1;
                dr[1] = fi[i];
                dr[2] = (i + 1) * 10;
                dt.Rows.Add(dr);
            }

            DataView dv = new DataView(dt);
            return dv;
        }
    </script>
</head>
<body>
    <form runat="server" style="height: 223px; width: 882px">
    <asp:Repeater ID="repeater1" runat="server">
        <HeaderTemplate>
            <table width="90%" align="center">
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td>
                    <%# DataBinder.Eval(Container.DataItem, "id")%>
                </td>
                <td>
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "username") %>'></asp:TextBox>
                    :
                    <asp:TextBox ID="TextBox2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "age") %>'></asp:TextBox>
                </td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
    <p>
        <asp:Button ID="ButtonSubmit" runat="server" OnClick="ButtonSubmit_Click" Text="Get" />
    </p>
    <p>
        <asp:Label ID="LabelNames" runat="server"></asp:Label>
    </p>
    </form>
</body>
</html>

Getボタン押下後
+Asp.Net+Repeaterコントロール_2.png



あなたのお住まいの地域で最安のブロードバンド選び

コメント:



(画像の文字列を入力して下さい)

添付ファイル: file+Asp.Net+Repeaterコントロール_2.png 13件 [詳細] file+Asp.Net+Repeaterコントロール_1.png 11件 [詳細]

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:32:42 (1627d)

G|Cg|C@Amazon Yahoo yV

z[y[W yVoC[UNLIMITȂ1~] COiq COsیI