Repeater

Nested Repeater

DataBase:

Table Name: authors

ColumnName
DataType
ID
Int(set identity property=true)
Name
varchar(50)

Table Name: titles


ColumnName
DataType
ID
Int(set identity property=true)
titles
varchar(50)
aid
Int (Foreign Key)

HTML Code:
<asp:Repeater ID="rptP" runat="server">
 <HeaderTemplate>
   <h2>
      Author List</h2>
   <ul>
 </HeaderTemplate>
 <ItemTemplate>           
     <b><%#DataBinder.Eval(Container.DataItem, "author") %></b>
                        <br />


 <asp:Repeater runat="server" ID="rptC"
      DataSource='<%# ((DataRowView)Container.DataItem).Row
                 .GetChildRows("myrelation") %>'>
    <ItemTemplate>
      <ul>
        <li>
       <%#DataBinder.Eval(Container.DataItem, "[\"titles\"]") %>
                            <br />
        </li>
      </ul>
    </ItemTemplate>
 </asp:Repeater>       
 </ItemTemplate>
<FooterTemplate>
            </ul>
        </FooterTemplate>
</asp:Repeater>
 
 
Code Behind Fle:
public partial class repeater : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection cnn = new SqlConnection("Data Source=SRIDITYA-PC;Initial Catalog=MYDB;Integrated Security=True");
        SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors", cnn);

        //Create and fill the DataSet.
        DataSet ds = new DataSet();
        cmd1.Fill(ds, "authors");

        //Create a second DataAdapter for the Titles table.
        SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titles", cnn);
        cmd2.Fill(ds, "titles");

        //Create the relation bewtween the Authors and Titles tables.
        ds.Relations.Add("myrelation",
        ds.Tables["authors"].Columns["id"],
        ds.Tables["titles"].Columns["aid"]);

        //Bind the Authors table to the parent Repeater control, and call DataBind.
        rptP.DataSource = ds.Tables["authors"];
        rptP.DataBind();

        //Close the connection.
        cnn.Close();
    }
}
Please Make Sure to Include this line in the HTML file: 
<%@ Import Namespace="System.Data" %>

No comments:

Post a Comment