Created
August 27, 2015 20:26
-
-
Save jessgusclark/ddebf17c80f7dca54ab4 to your computer and use it in GitHub Desktop.
Nested Repeaters in C#
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<%@ Import Namespace="System.Data" %> | |
--- | |
<asp:Repeater ID="Repeater1" runat="server"> | |
<ItemTemplate> | |
<h2><%# DataBinder.Eval(Container, "DataItem[\"FirstLetter\"]")%></h2> | |
<ul> | |
<asp:Repeater ID="Repeater2" runat="server" | |
DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>'> | |
<ItemTemplate> | |
<li> | |
<%# DataBinder.Eval(Container.DataItem, "[\"LastName\"]")%>, | |
<%# DataBinder.Eval(Container.DataItem, "[\"FirstName\"]")%> | |
</li> | |
</ItemTemplate> | |
</asp:Repeater> | |
</ul> | |
</ItemTemplate> | |
</asp:Repeater> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//create Dataset: | |
DataSet ds = new DataSet(); | |
//Create the "Letter" DataTable: | |
DataTable dt = new DataTable(); | |
dt.TableName = "Letters"; | |
dt.Columns.Add(new DataColumn("FirstLetter", typeof(char))); | |
//Loop through Alpha | |
for (byte AlphaCtr = 65; AlphaCtr <= 90; AlphaCtr++) { | |
dt.Rows.Add(System.Convert.ToChar(AlphaCtr)); | |
} | |
ds.Tables.Add(dt); | |
// Get Person Table: | |
using (SqlConnection connection = new SqlConnection(Global.DatabaseConnection)) { | |
connection.Open(); | |
SqlCommand command = connection.CreateCommand(); | |
command.CommandText = "select * from ExpertsList"; | |
DataTable dt2 = new DataTable(); | |
dt2.TableName = "ExpertsList"; | |
dt2.Load(command.ExecuteReader()); | |
//Modify Table to add "FirstLetter"; | |
dt2.Columns.Add(new DataColumn("FirstLetter", typeof(char))); | |
foreach (DataRow dr in dt2.Rows) { | |
dr["FirstLetter"] = Convert.ToString(dr["LastName"])[0]; // or set it to some other value | |
} | |
ds.Tables.Add(dt2); | |
connection.Close(); | |
} | |
//Create Relation and Bind: | |
ds.Relations.Add("myrelation", | |
ds.Tables["Letters"].Columns["FirstLetter"], | |
ds.Tables["ExpertsList"].Columns["FirstLetter"], | |
false); | |
Repeater1.DataSource = ds.Tables["Letters"]; | |
Page.DataBind(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment