我现在写的一个gridview,想实现这么一个功能:在gridview中有report列,当我上传了文件时,上传文件的那行report列中会有一个图标显示,点击图标能看到我上传的report,而没有上传文件的行则没有图标显示。在图标后面还有一个图片点击图片时能删除我上传的文件。在线等

解决方案 »

  1.   

    模板列 <asp:TemplateField>
                        <ItemTemplate>
                            <asp:ImageButton ID="view" runat="server" Visible='<%#Eval("IsReport") %>">' />
                               <asp:ImageButton ID="delete" runat="server" Visible='<%#Eval("IsReport") %>">'  />
                        </ItemTemplate>
                    </asp:TemplateField>
      

  2.   

    <%# string.IsNullOrEmpty(Eval("report").ToString())?"<img srx=''/>":""..
    ImageButton  visivle根据report隐藏显示
      

  3.   


    这个IsReport怎么解释呢,是不是select数据库的时候进行一个判断当为空的时候返回的就是false??
      

  4.   

    我的解决方法
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label answer = e.Row.Cells[19].FindControl("控制条件id") as Label;
                problem.Text = answer.Text;
                if (problem.Text!="Pass")
                {
                    e.Row.Cells[1].FindControl("控制项id").Visible = false;
                    e.Row.Cells[1].FindControl("控制项id").Visible = false;
                }
                else
                {
                    e.Row.Cells[1].FindControl("控制项id").Visible = true;
                    e.Row.Cells[1].FindControl("控制项id").Visible = true;
                }
            }
        }
    这里的两个e.row.cells[1].findcontrol("控制项id").visible=;代表在gridview中同一列的两个图标