事先不知道你也可以用datagrid来显示呀
<asp:templatecolumn
>
<itemtemplate>
<img src='<%#databinder.eval(container.dataitem,"image")'>
</itemtemplate>
</asp:templatecolumn
>

解决方案 »

  1.   

    在你的DataGrid的模板中,放入一个DataList,ID为DList1
    再在DList1的模板中放一个Image控件,绑定图像来源为图像表
    比如,DataGrid中显示名称,编号,简介等信息假设为UserInfo表
    但是图片是从另一个表中取假设是UserImage表
    在DataGrid的ItemDataBound事件中再根据UserInfo表的关键字,假设是UserID
    从UserImage表中取出N条记录,绑定到DList
    实现方法如下
    页面设计:
    <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataKeyField="UserID">
    <Columns>
    <asp:BoundColumn DataField="用户名" HeaderText="用户名"></asp:BoundColumn>
    <asp:TemplateColumn HeaderText="图片">
    <ItemTemplate>
    <asp:DataList id="DList1" runat="server">
    <ItemTemplate>
    <IMG alt="" src='<%# DataBinder.Eval(Container, "DataItem.图片") %>'>
    </ItemTemplate>
    </asp:DataList>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
      if(!IsPostBack)
      {
        BindGrid();//绑定数据到DataGrid
      }
    }private void BindGrid()
    {
      OleDbConnection conn=(OleDbConnection)Session["conn"];
      try
      {
        conn.Open();
        //取出用户信息
        string sSel = "SELECT UserID,用户名 FROM UserInfo";
        OleDbDataAdapter da = new OleDbDataAdapter(sSel,conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataGrid1.DataSource=ds;
        DataGrid1.DataBind();
      }
      finally
      {
        conn.Close();
      }
    }//在用户信息绑定的同时,查询此用户的图片,并绑定到DataList上
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
    {
      //以DataGrid的关键字做查询,前提是DataGrid的关键字设置为用户ID
      string sID = ((DataGrid)sender).DataKeys[(int)e.Item.ItemIndex].ToString();
      OleDbConnection conn=(OleDbConnection)Session["conn"];
      try
      {
        if (conn.State.ToString() !="Open") conn.Open();
        //根据关键字(UserID)查询此用户的图片
        string sSel = "SELECT 图片 FROM UserImage Where UserID = " + sID ;
        OleDbDataAdapter da = new OleDbDataAdapter(sSel,conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        //因为DataList在模板中,所以无法直接使用,只能通过查找控件的方式来使用
        DataList DList = (DataList)e.Item.FindControl("DList1");
        //将图片绑定到DataList上显示
        DList .DataSource = ds;
        DList .DataBind();
      }
      finally
      {
        conn.Close();
      }
    }