嵌套repeater

.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="examineMain.aspx.cs" Inherits="examineMain" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
            <HeaderTemplate>
                <table>
            </HeaderTemplate>
           
            <ItemTemplate>
                <tr>
                    <td>
                        <asp:Label ID="ID" runat="server"></asp:Label>:
                        <asp:Label ID="QUESTION" runat="server"></asp:Label>
                    </td>
                </tr>   
                        <asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="Repeater2_ItemDataBound">
                            <ItemTemplate>
                                <tr>
                                    <td>
                                      
                                        <asp:RadioButton ID="radBox_Option" runat="server" GroupName="option"/>
                                        <asp:RadioButtonList ID="RadioButtonList1" runat="server">
                                        </asp:RadioButtonList><asp:CheckBox ID="ChkBox_Option" runat="server" />
                                     </td>
                                </tr>   
                            </ItemTemplate>
                        </asp:Repeater>
            </ItemTemplate>
           
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
   
    </div>
    </form>
</body>
</html>

.cs

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class examineMain : System.Web.UI.Page
{
    protected int flag;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            flag = 0;
            testSystem.DAL.DAQuestion dq = new testSystem.DAL.DAQuestion();
            DataSet ds = dq.getQuestion();
            Repeater1.DataSource = ds.Tables["question"];
            Repeater1.DataBind();           
            //Page.DataBind();
        }
    }
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
        {
                Label lab = (Label)e.Item.FindControl("ID");
                lab.Text = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();
                lab = (Label)e.Item.FindControl("QUESTION");
                lab.Text = ((DataRowView)e.Item.DataItem).Row["QUESTION"].ToString();
                flag = Convert.ToInt32(((DataRowView)e.Item.DataItem).Row["type"]);


                DataRowView drv = (DataRowView)e.Item.DataItem;
                DataView dv = drv.CreateChildView("relationQuestionToAnswer");
                Repeater r = (Repeater)e.Item.FindControl("Repeater2");
                r.DataSource = dv;
                r.DataBind();

        }
    }
 
   
    protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            RadioButton rb = (RadioButton)e.Item.FindControl("radBox_Option");
            rb.Text = ((DataRowView)e.Item.DataItem).Row["answerOption"].ToString();
            CheckBox cb = (CheckBox)e.Item.FindControl("ChkBox_Option");
            cb.Text = ((DataRowView)e.Item.DataItem).Row["answerOption"].ToString();

            if (flag==0)
            {
                rb.Visible = true;
                cb.Visible = false;
            }
            else
            {
                rb.Visible = false;
                cb.Visible = true;

            }
        }
    }
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章