gridview没有数据的行,怎么把它隐藏或者删除

求下代码例子图片说明

sql读出来的时候加为空的判断揪心过了,你的空记录是指第一列没有数据吗?

 select * from xxx where 第一列的列名称>''

如果无法修改sql,数据源改为DataView,可以使用RowFilter过滤


        System.Data.DataTable dt;
        //取数据填充dt的代码
        System.Data.DataView dv = dt.DefaultView;
        dv.RowFilter = "不能为空的列名称>''";

最好在数据源查询处就控制住,把不符合的数据过滤掉

                sb.Append("<td>" + dr["Engineer_var_Name"] + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["模拟"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 5, "501", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["基本"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 5, "502", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["移动宽带"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 3, "301,302", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["广电宽带"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 5, "504", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["交互维修"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 5, "503,505", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["移动宽带LAN安装"].ToString(), "" + ftstart + "", "" + ftend + "", 2, 2, "201,202", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + assembly("" + ftstart + "", "" + ftend + "", dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), 1, 2, 0, 2, 1, 1, dr["Engineer_int_ID"].ToString(), dr["广电宽带LAN安装"].ToString()) + "</td>"); //mazt
            sb.Append("<td>" + assembly("" + ftstart + "", "" + ftend + "", dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), 1, 2, 0, 2, 1, 1, dr["Engineer_int_ID"].ToString(), dr["交互LAN"].ToString()) + "</td>"); //mazt
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["移动宽带EOC安装"].ToString(), "" + ftstart + "", "" + ftend + "", 1, 2, "201,202", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + assembly("" + ftstart + "", "" + ftend + "", dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), 1, 1, 0, 2, 1, 1, dr["Engineer_int_ID"].ToString(), dr["广电宽带EOC安装"].ToString()) + "</td>"); //mazt
            sb.Append("<td>" + assembly("" + ftstart + "", "" + ftend + "", dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), 1, 1, 0, 2, 1, 1, dr["Engineer_int_ID"].ToString(), dr["交互EOC"].ToString()) + "</td>"); //mazt
            sb.Append("<td>" + dr["光纤入户"].ToString() + "</td>"); //mazt
            sb.Append("<td>" + assembly("" + ftstart + "", "" + ftend + "", dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), 1, 0, 0, 2, 1, 1, dr["Engineer_int_ID"].ToString(), dr["基本型安装"].ToString()) + "</td>"); //mazt
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["开机"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 1, "101", 1, 0, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["销户"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 1, "107", 1, 0, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["移动宽带拆机"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 2, "203,204,210", 1, 3, dr["Engineer_int_ID"].ToString()) + "</td>");
            sb.Append("<td>" + assembly("" + ftstart + "", "" + ftend + "", dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), 1, 0, 0, 2, 1, 1, dr["Engineer_int_ID"].ToString(), dr["交互拆机"].ToString()) + "</td>"); //mazt
            sb.Append("<td>" + AssemblyHref(dr["WorkTicket_int_Dept1"].ToString(), dr["WorkTicket_int_Dept2"].ToString(), dr["WorkTicket_int_Dept3"].ToString(), dr["服务申告流"].ToString(), "" + ftstart + "", "" + ftend + "", 0, 6, "601,602,603,604,605,606", 0, 0, dr["Engineer_int_ID"].ToString()) + "</td>");               
            }
            sb.Append("</tr>");
        }
        ResultData = sb.ToString();
        this.GVData.DataSource = dt;  //gridview数据绑定

        this.GVData.DataBind();

为什么要这样拼接?这样的数据可以用一个JSON 搞一下 弄成一个对象封装好 就应该可以很容易解决你的问题了吧

gridview 也是基于 MVC设计的,你只能通过数据源进行控制,没有其它办法;