I basically have an entity that gets bound to my gridview and has a string value like this: ‘data1|data2|data3|data4’.
Is there a more efficient or better way of doing this than the method I am currently using below?
<asp:Repeater runat="server" ID="rptCentres">
<ItemTemplate>
<h2><%#Eval("Centre.Name") %> ( <%#Eval("Entities.Count") %> )</h2>
<asp:GridView runat="server" ID="dgShotlist" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<itemtemplate>
<p><%#Eval("ImageContainer.Title").ToString().Split('|')[0]%></p>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField>
<itemtemplate>
<p><%#Eval("ImageContainer.Title").ToString().Split('|')[1]%></p>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField>
<itemtemplate>
<p><%#Eval("ImageContainer.Title").ToString().Split('|')[2]%></p>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField>
<itemtemplate>
<p><%#Eval("ImageContainer.Title").ToString().Split('|')[3]%></p>
</itemtemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:Repeater>
Assuming, you explicitly bind data to the repeater only:
here I specify data source for the inner
GridViewas title splitted by|symbol which should be of typestring[]by using((string)Eval("ImageContainer.Title")).Split('|').