Based on our comments discussion, here's a quick demo for your reference:
ASPX:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "Id") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "Field1") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "Field2") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "Field3") %></td>
</tr>
<tr>
<td colspan="4"><%# DataBinder.Eval(Container.DataItem, "Field4") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
CODE BEHIND:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebFormDemo
{
public partial class Repeater : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
BindRepeater();
}
}
private void BindRepeater() {
var data = GetSampleData();
Repeater1.DataSource = data;
Repeater1.DataBind();
}
private List<Student> GetSampleData() {
List<Student> students = new List<Student>();
students.Add(new Student() { Id = 1, Field1 = "SomeText 1", Field2 = "SomeText 1", Field3 = "SomeText 3", Field4="SomeText with more contents here and there." });
students.Add(new Student() { Id = 2, Field1 = "SomeText 2", Field2 = "SomeText 2", Field3 = "SomeText 2", Field4 = "SomeText with more contents here and there." });
students.Add(new Student() { Id = 3, Field1 = "SomeText 3", Field2 = "SomeText 3", Field3 = "SomeText 3", Field4 = "SomeText with more contents here and there." });
return students;
}
}
public class Student
{
public int Id { get; set; }
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
public string Field4 { get; set; }
}
}
Field4
in the example above should display below each row of the entry.
Hope that helps!