从数据库中,如果有简单的文本,则文本应显示在网格视图中,如果表中的文本是图像文件的名称,则应显示图像
例子
id text
---- -------
1 hello
2 hi
3 imagename.jpg
现在我想在gridview的列[0]中显示hello和hi,也在同一列中显示图像(imagename.jpg),即列[0] ...请帮助
您可以有类型的列DataGridViewImageColumn
并为图像提供文本。
DataGridViewImageColumn column = new DataGridViewImageColumn();
column.HeaderText = "Image Name";
<asp:GridView ID="grdImages" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:ImageField DataImageUrlField="URL" NullDisplayText="Text when no image."/>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
grdImages.DataSource = yourDataSource;
grdImages.DataBind();
}
我已经做到了
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string img = ((Image)e.Row.FindControl("Image1")).ImageUrl;
string []ext=img.Split('.');
if (ext.Length == 1)
{
((Image)e.Row.FindControl("Image1")).Visible = false;
}
else
{
((Image)e.Row.FindControl("Image1")).Visible = true;
}
}
BindGrid();
}