0

私は c# で asp.net Web アプリケーションを実行しています。以下に示すように配置が必要です。 ここに画像の説明を入力

この配置は、リピーター コントロールを使用する必要があります。次を使用しました。

aspx ページ:

 <table cellspacing="0" cellpadding="0" border="0" width="80%" align="center">
        <tr>
          <td>
          </td>
      <asp:Repeater ID="rptroutebind" runat="server">
        <ItemTemplate>
            <td>                                                                                   <asp:Label ID="lblRouteName" runat="server" Text='<%# Eval("ROUTENAME") %>' Width="100"></asp:Label>
           </td>
         </ItemTemplate>
      </asp:Repeater>
      </tr>
   <asp:Repeater ID="rptbindoutlet" runat="server">
     <ItemTemplate>
         <tr>
            <td>                                                                                <asp:Label ID="lblOutName" runat="server" Text='<%# Eval("RONAME") %>' Width="100"></asp:Label>
            </td>
                </tr>
         <tr>
        <td style="height: 10px">
        </td>
        </tr>
     </ItemTemplate>
    </asp:Repeater>
  </table>

次に、チェックボックスなしで次の配置を取得しています。これらのチェックボックスを配置する方法を誰か教えてください

編集: 私はこれを試しました

cs ページ:

protected void rptbindoutlet_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            CheckBox chk;
            foreach (RepeaterItem item in rptbindoutlet.Items)
            {
                for (int i = 1; i <= chkno; i++)
                {
                    chk = new CheckBox();
                    chk.ID = "check" + i;
                    rptbindoutlet.Controls.Add(chk);
                }
            }
        }

私はチェックボックスを取得していますが、正しく整列していません.私はこのようになっています: ここに画像の説明を入力

編集1:

 protected void rptbindoutlet_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            CheckBox chk;
            foreach (RepeaterItem item in rptbindoutlet.Items)
            {
                TableRow tr = new TableRow();
                for (int i = 1; i <= chkno; i++)
                {
                    TableCell tc = new TableCell();
                    chk = new CheckBox();
                    chk.ID = "check" + i;
                    tc.Controls.Add(chk); 
                }
                rptbindoutlet.Controls.Add(tr);
            }
        }

これは与える

ここに画像の説明を入力

4

1 に答える 1

1

ItemTemplateコードによると、テーブル構造の代わりに c# コードを使用して新しいものを追加しました。親でテーブルを使用しており、ItemDataBoundイベントでは new によって構造を重ねているだけですItemTemplate。したがって、TableRow と TableCell を生成し、この TableCell に親テーブル構造に従って実行時に新しい CheckBox を追加することをお勧めします。

于 2012-05-08T09:48:46.407 に答える