目前可以有2种方法~~1种是把图片以2进制的方式存入数据库然后用流读出来(似乎这个方法大多人不太赞同说是读出来的话会很慢消耗很大~~当然我也不会)~~~~还有1种是把图片的路径存入数据库~可是如何让DataGrid帮定到他呢~~~比如磨板列里是checkbox我可以用(Check)来转换成check类型  比如if(((CheckBox)DataGrid2.Items[j].Cells[4].Controls[1]).Checked)判断CheckBox是不是被选中~~~那DataGrid怎么把图片弄到磨板列的image上呢

解决方案 »

  1.   

    asp:Image控件 放入到DataGrid里面
    在后台设置其路径
    设置路径时候你要这样
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    {
                                  设置你image的路径
                                }
                       }在private void InitializeComponent()中加入
    this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
      

  2.   

    对了设置路径时候你要用到FindControl
    例如
    TextBox tbFactNum = (TextBox) e.Item.Cells[15].FindControl("tbFactNum");
      

  3.   

    我是Image应该怎么写~~而且我这个图片是已数据的形式就和邮件未读和已读2个图片显示给别人看~没个邮件都有这样1个状态~~~还有private void InitializeComponent()里面是做什么的为什么要写this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
      

  4.   

    这个是好让.net找到绑定的事件啊
    否则怎么知道我就要执行DataGrid1_ItemDataBound这个函数呢
    通过DataGrid1_ItemDataBound函数来逐条的处理你绑定的事件
    有了这个你还愁什么呀,想怎么处理这个图片都成,你FindControl以后它有好多属性,你自己看看吧 我下班了
    88
      

  5.   

    TextBox tbFactNum = (TextBox) e.Item.Cells[15].FindControl("tbFactNum");
    那对应的Image是什么呢
      

  6.   

    <asp:TemplateColumn HeaderText="图片">
                    <HeaderStyle Width="40px"></HeaderStyle>
    <ItemTemplate>
    <asp:Image ID="Image1" runat="server" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.imgurl") %>' />
                    </ItemTemplate>
    </asp:TemplateColumn>
      

  7.   

    绑定模板列不适合你在不同环境下进行判断
    TextBox tbFactNum = (TextBox) e.Item.Cells[15].FindControl("tbFactNum");
    对应的为
    Image 你起的名字= (Image) e.Item.Cells[所在的列].FindControl("DataGrid中的名字");
      

  8.   

    我是要按数据库传出来的值来判断这么磨版列的图片是哪张~~我用的是
    private void WebForm1_PreRender(object sender, System.EventArgs e)
    {
    BindData();
    for(int i=0;i<DataGrid1.Items.Count;i++)
    {
    if(dataSet11.Tables[0].Rows[i][0].Equals(1))
    {
    System.Web.UI.WebControls.Image   Image   =   (System.Web.UI.WebControls.Image)DataGrid1.Items[i].Cells[7].FindControl("Image1");
    Image.ImageUrl   =   "C:\\Inetpub\\wwwroot\\Upload\\Status1.gif";   
    }
    else
    {
    System.Web.UI.WebControls.Image   Image   =   (System.Web.UI.WebControls.Image)DataGrid1.Items[i].Cells[7].FindControl("Image1");
    Image.ImageUrl   =   "C:\\Inetpub\\wwwroot\\Upload\\Status0.gif";  
    }
    }

    }
    不过还是收大家的启发~~谢谢你们~结帖了~