如何实现以下功能?
    如果Datagrid每一行中的第4列如果等于0责隐藏、等于1则显示
请问如何实现这个功能?

解决方案 »

  1.   

    使用DataView做为数据源,然后设置DataView.RowFilter=“field<>0”;
      

  2.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType=ListItemType.Item || e.Item.ItemType=ListItemType.AlternatingItem)
    {
    if(e.Item.Cells[3].Text=="0")
    {
    e.Item.Visible=false;
    }
    }
    }
      

  3.   

    for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (int.Parse(this.gvProductsList.Rows[i].Cells[4].ToString()) == 0)
                    {
                        this.gvProductsList.Rows[i].Visible = false;
                    }
                   
                }
      

  4.   

    for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (int.Parse(this.gvProductsList.Rows[i].Cells[3].ToString()) == 0)
                    {
                        this.gvProductsList.Rows[i].Visible = false;
                    }
                   
                }
      

  5.   

    方法:
    1、数据源:
    SELECT * FROM TABLE WHERE FIELD<>0
    2、数据绑定:private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    dt=(DataTable) ((DataGrid) sender).DataSource; 
    if(e.Item.ItemType==ListItemType.Item | e.Item.ItemType==ListItemType.AlternatingItem)//表身
    {
    if((int) dt.rows[e.Item.ItemIndex][4]==0)
      {
        e.Item.Style.Add("display","none");
    }
    }
    }