高手们,请看:   现在我在datagrid1中绑定两列,分别为第3列和第4列,第3列绑定数值,第4列绑定一个NEW图标,目的是:如果datagrid1中的每一行(每条记录)中如果第3列(即每一行中第3个单元格)中的值显示为1时,该行中的第4个单元格中的NEW图标可见,反之如果每一行中第3个单元格中的数值为0时,该行中的第4个单元格中的图标不可见现在我用的函数是
    private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    { foreach (DataGridItem objitem in datagrid1.Items )
        {
            if (System.Int32.Parse(objitem.Cells[4].Text) == 1)
            {
                objitem.Cells[3].Text = "<img src='mail_pic/new.gif'/>";
            }
            else
            {
                objitem.Cells[3].Text = "";            
            
            }
        
        }
    
    }
可是这个代码执行时没错,可是却不能达到目的,不能让每一行中的第3个单元格的图标的显示与否  随 该行中的第4个单元格中的显示的内容而变化《注:这是做邮件系统时,控制邮件是否已读,遇到的问题》各位高手,请帮忙给检查一下

解决方案 »

  1.   

    lz的方法有错误
    建议使用
     private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
    for (int i = 0; i < DataGrid1.Items.Count; i++)
    {
    if (DataGrid1.Items[i].Cells[4].Text == Convert.ToString(1))
    {
    objitem.Cells[3].Text = "<img src='mail_pic/new.gif'/>";
    }
    else
    {
    objitem.Cells[3].Text = "";
    }
    }
    }经测试没有问题,如果这样还显示不出图片就查看你的文件名或者路径有没有写错,在aspx页里面拖一个<img>设置好了复制过去。
      

  2.   

    谢谢,不过好像还有问题呀
    我的代码是:
     private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)  {
          for (int i = 0; i < datagrid1.Items.Count; i++)
          {
              if (datagrid1.Items[i].Cells[4].Text == Convert.ToString(1))
              {
                  datagrid1.Items[i].Cells[3].Text = "haveread";
                 
              }
              else
              {
                  datagrid1.Items[i].Cells[3].Text = "new";          }
          }
     
        }
       页面代码是:<asp:DataGrid runat ="server" ID ="datagrid1" Height="1px" Width="600px" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None"   >
            <Columns>
                <asp:TemplateColumn HeaderText="删除">
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" />
                    </ItemTemplate>
                </asp:TemplateColumn>
                <asp:BoundColumn DataField="from_userid" HeaderText="发件人">
                    <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                    <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                    <HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                </asp:BoundColumn>
                <asp:HyperLinkColumn DataNavigateUrlField="id" DataNavigateUrlFormatString="mail_show.aspx?id={0}"
                    DataTextField="title" HeaderText="主题" Target="mainFrame">
                    <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                    <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                    <HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                </asp:HyperLinkColumn>
                <asp:TemplateColumn HeaderText="读/否"></asp:TemplateColumn>
                <asp:BoundColumn DataField="readed_flag" HeaderText="digital"></asp:BoundColumn>
                <asp:BoundColumn DataField="sub_date" HeaderText="日期" DataFormatString="{0:D}">
                    <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                    <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                    <HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                        Font-Underline="False" HorizontalAlign="Center" />
                </asp:BoundColumn>
            </Columns>
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditItemStyle BackColor="#2461BF" />
            <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <AlternatingItemStyle BackColor="White" />
            <ItemStyle BackColor="#EFF3FB" />
            <HeaderStyle BackColor="#6699FF" Font-Bold="True" ForeColor="White" />    </asp:DataGrid>
    不行呀,“读/否”这一列什么出没有呀
    请指教!!