Что я могу понять по вашему вопросу, так это то, что вы хотите две вещи
*). Если записей несколько, то вы хотите показать две вещи в каждой строке: изображение статуса и статус.
*). Если записей много, вам нужно отображать только текст статуса, а не изображение.
Если я прав, то решение здесь:
Добавьте два элемента управления в ItemTemplate Image и html label и в зависимости от условия измените их видимость. Как это
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Image Visible='<%# Check(Convert.ToString(Eval(Image))) %>' ID="img" runat="server" ImageUrl='<% Eval(Image) %>' />
// for ImageUrl, you can put more condition for 'yes' and 'no' image.
<asp:Label Visible='<%# Check(Convert.ToString(Eval(Image))) %>' ID="status" Text='<% Eval(Status) %>' runat = "server" />
</ItemTemplate>
</asp:TemplateField>
Теперь в вашем источнике данных вы должны внести некоторые изменения в соответствии с вашими потребностями, например:
При связывании вы решите, хотите ли вы показывать изображение или нет, если нет, то измените значение изображения источника данных на «#». Теперь проверка (строка imageUrl) является кодом функции
public bool Check(string title)
{
if (title == "#")
return false;
else
return true;
}
И в будущем, если вы хотите показывать изображение только в некоторых строках, вам нужно будет лишь немного изменить ваш конкретный код, который предназначен для обновления URL-адреса изображения, и другие автоматически запустятся.