for (int i = 0; i < GridView1.Rows.Count - 1; i++)
        {
            if (GridView1.Rows[i].Cells[3].Text.Length == 0)
            {
                GridView1.Rows[i].Visible = false;
            }
           
        }

解决方案 »

  1.   

    看你着急,我就说说我的笨方法,可能不好不要见笑。
    用模版列绑定数据,用4个标签绑定ABCD,在rowdatabind事件里 用findcontrol找到D标签,
    判断如果标签值为空 4个都不显示
      

  2.   

    觉得三少的方法比较清晰简便,但是实际运用中,发现功能实现有出入,自己设断点跟踪发现总有检索数据为“nbp; ”类似空格符导致数据长度不为空,由于没有发现过长的空格符,自己将if (GridView1.Rows[i].Cells[3].Text.Length == 0) 改为if (GridView1.Rows[i].Cells[3].Text.Length <2) 结果还是有问题,不知问题出在哪里,大家有什么高招吗谢谢
      

  3.   

    还有,我不清楚if (GridView1.Rows[i].Cells[3].Text.Length == 0)这句中,Text.Length 的长度数据库字段中的实际数据长度还是GridView中显示时该表格的长度?
      

  4.   

    Text.Length 的长度数据库字段中的实际数据长度
      

  5.   

    if (GridView1.Rows[i].Cells[3].Text.Length == 0)
    这句就是判断你D字段是否有值,如果无值
    当前行不显示
    GridView1.Rows[i].Visible = false;