我正在使用Visual Studio 2015和实体框架6.我有一个GridView
,我希望它上面的status
列显示四种不同类型的图像,具体取决于该字段中的字符串数据库。我希望用模板完成它。
这是我的GridView
:
<asp:GridView ID="gvStatus" runat="server" Height="184px"
Width="1359px" AutoGenerateColumns="false" AllowSorting="true" >
<HeaderStyle Font-Bold="true" Font-Size="16pt" BackColor="#cc0000" ForeColor="Black"/>
<RowStyle Font-Size="12pt" BackColor="#afadad" ForeColor="White"/>
<AlternatingRowStyle BackColor="#afadad" ForeColor="White" />
<Columns>
<asp:CommandField HeaderText="" SelectText="Delete" ShowSelectButton="true" ControlStyle-ForeColor="White" />
<asp:BoundField HeaderText="Status" DataField="Status" />
</Columns>
</asp:GridView>
如何让status
列显示四个不同的图像,具体取决于哪个字符串?
答案 0 :(得分:1)
你可以这样做:
<Columns>
<asp:TemplateField >
<HeaderStyle Width="10%" />
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#GetImagePath(Eval("img").ToString())%>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
在后面的代码中:
public string GetImagePath(object value)
{
if (string.IsNullOrEmpty(Convert.ToString(value))) return string.Empty;
var x = int.Parse(value.ToString());
return x > 0 ? "Your Image Path" : "Default Image Path";
//Here I show two different types of images depending on int value in that field from the database you can change it to four type with if-else and also depending on string value
}