1
<asp:CheckBox ID="chkBox1" runat="server" Text="1" />
<asp:CheckBox ID="chkBox2" runat="server" Text="2" />

2 つのチェックボックスがあります。Selection に基づいて、クエリを実行し、リピーター コントロールにバインドする必要があります。

リピーター制御の場合:

<asp:Repeater runat="server" ID="Repeater1">
<HeaderTemplate >
<table class="list_table" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<th>1</th>
<th>2</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%=CheckBox1.Checked ? Eval("1") : "" %></td> 
 <td><%=CheckBox2.Checked ? Eval("2") : "" %></td> 

    </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
    </asp:Repeater>

AVD の提案 条件が正常に機能している場合、コーディングを変更しましたが、データベースからリピーター コントロールにデータをバインドする必要があります。

4

1 に答える 1

3

あなたが試すことができます、

 <ItemTemplate>
    <tr>
        <td><%=CheckBox1.Checked ? "1" : "" %></td>
        <td><%=CheckBox2.Checked ? "2" : "" %></td>
   </tr>
  </ItemTemplate>

編集:

@Prince Antony G:チェックボックス1を選択すると、クエリを実行します-テーブル1から1を選択します。または、checkbox2 を選択した場合は、クエリを実行します - table2 から 2 を選択します。データをリピーターコントロールにバインドします(これらのテーブルは両方とも異なるフィールドを持っています)

いずれの場合も、バインディング式 (列) の一部が使用できない (見つからない) ため、別のデータ ソースをDataControlにバインドすることはできません。

Page1.aspx マークアップ


<div>
<asp:MultiView ID="MultiView1" runat="server">
    <asp:View ID="View1" runat="server">
        <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
            <!--Bind the result from first table -->
        </ItemTemplate>
        </asp:Repeater>
    </asp:View>

    <asp:View ID="View2" runat="server">
        <asp:Repeater ID="Repeater2" runat="server">
        <ItemTemplate>
            <!--Bind the result from second table -->
        </ItemTemplate>
        </asp:Repeater>
    </asp:View>
</asp:MultiView>
</div>

Page1.aspx.cs - コード ビハインド


protected void BindResult(object sender, EventArgs e)
{
    CheckBox check = sender as CheckBox;
    switch (check.Text)
    {
        case "1": 
            /* 
                * 1. Execute - Select * from Table1
                * 2. Bind the DataSource to Repeater1
                */
            /* Shows the first View*/
            MultiView1.ActiveViewIndex = 0;
            break;
        case "2":
            /* 
                * 1. Execute - Select * from Table2
                * 2. Bind the DataSource to Repeater2
                */
            /* Shows the second View*/
            MultiView1.ActiveViewIndex = 1;
            break;
    }
}
于 2012-08-22T06:36:59.493 に答える