Hi rhino000,
As per your Query i have create the sample.If you have any doubt revert me back.Below is the given sample.
HTML
<form id="form1" runat="server">
<div>
<asp:Repeater ID="rptrView" runat="server" OnItemDataBound="rptrView_ItemDataBound">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="label" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
</td>
<td>
<asp:Label ID="address" runat="server" Text='<%#Eval("addre") %>' Visible="false"></asp:Label>
<asp:Image ID="Addrt" runat="server" ImageUrl='<%#Eval("Addr") %>' Height="50px"
Width="50px" Visible="false" />
</td>
<td>
<asp:Label ID="Addrtype" runat="server" Text='<%#Eval("type") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("Id", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("addre",typeof(string)),
new DataColumn("Addr",typeof(string)),
new DataColumn("type",typeof(string)) });
dt.Rows.Add(1, "John Hammond", "United States", "https://static.flickr.com/66/199481236_dc98b5abb3_s.jpg", "Image");
dt.Rows.Add(2, "Mudassar Khan", "India", "https://static.flickr.com/77/199481108_4359e6b971_s.jpg", "Label");
dt.Rows.Add(2, "Mudassar", "UK", "https://static.flickr.com/77/199481108_4359e6b971_s.jpg", "");
rptrView.DataSource = dt;
rptrView.DataBind();
}
}
protected void rptrView_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label type = e.Item.FindControl("Addrtype") as Label;
Label address = e.Item.FindControl("address") as Label;
Image image = e.Item.FindControl("Addrt") as Image;
if (type.Text.Trim().ToUpper() == "LABEL")
{
address.Visible = true;
}
else if (type.Text.Trim().ToUpper() == "IMAGE")
{
image.Visible = true;
}
else
{
address.Visible = true;
image.Visible = true;
}
}
}
VB
Partial Class VB
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("Id", GetType(Integer)), New DataColumn("Name", GetType(String)), New DataColumn("addre", GetType(String)), New DataColumn("Addr", GetType(String)), New DataColumn("type", GetType(String))})
dt.Rows.Add(1, "John Hammond", "United States", "https://static.flickr.com/66/199481236_dc98b5abb3_s.jpg", "Image")
dt.Rows.Add(2, "Mudassar Khan", "India", "https://static.flickr.com/77/199481108_4359e6b971_s.jpg", "Label")
dt.Rows.Add(2, "Mudassar", "UK", "https://static.flickr.com/77/199481108_4359e6b971_s.jpg", "")
rptrView.DataSource = dt
rptrView.DataBind()
End If
End Sub
Protected Sub rptrView_ItemDataBound(sender As Object, e As RepeaterItemEventArgs)
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim type As Label = TryCast(e.Item.FindControl("Addrtype"), Label)
Dim address As Label = TryCast(e.Item.FindControl("address"), Label)
Dim image As Image = TryCast(e.Item.FindControl("Addrt"), Image)
If type.Text.Trim().ToUpper() = "LABEL" Then
address.Visible = True
ElseIf type.Text.Trim().ToUpper() = "IMAGE" Then
image.Visible = True
Else
address.Visible = True
image.Visible = True
End If
End If
End Sub
End Class