webform中用gridview显示数据,如果数据表中的某条记录的字段bs的值为‘1’,则在页面显示的该数据记录时在最后一列出现一个图片,字段bs的值为‘0’时图片隐藏,请问如何实现?最好给个例子

解决方案 »

  1.   

    取出数据到DataTable,包括字段bs也一并取出,然后绑定到GridView。字段bs作为GridView的一列,隐藏此列。最后用下面代码:
    for (int i = 0; i < GridView1.Rows.Count; i++)
    {
    if ((GridView1.Rows[i].FindControl("存放字段bs的Label控件ID") as Label).Text == "0")
    (GridView1.Rows[i].FindControl("显示图片的Image控件") as Image).Visible = false;
    }
    考虑到显示问题,可以在执行上述代码前隐藏整个GridView,执行后再显示GridView,通过GridView1.Visible属性设置。
      

  2.   

    RowDataBind事件中if((e.Item.FindControl("绑定bs的Label") as Label).Text=="0"){//设置图片显示
    (e.Item.FindControl("绑定bs的图片") as Image).Visible=true;
    }else{//图片隐藏}
      

  3.   

    <img visiable='<%#Eval("bs")==1?true:false%>'>
      

  4.   

    <img visiable='<%#Eval("bs")==1?true:false%>'>
      

  5.   

    也可以在事件中判断、    protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.DataItemIndex == -1)
            {
                return;
            }
            if (e.Row.Cells[1].Text == "0")       //判断第二列字段的值
                e.Row.Cells[2].Visible = false;   //隐藏第三列列
            if (e.Row.Cells[1].Text == "1") 
                e.Row.Cells[2].Visible = True;
      

  6.   

    <img visiable='<%#Eval("bs")==1?true:false%>'>