我想控制datalist的第八个字段if (dt1.Tables[0].Columns[7].ToString()=="")
            {
                DataList2.FindControl("td8").Visible = false;//这个不行
                td8.Style["Display"] = "None"; //这个更不行,找不到
            }
前台第八列<td style="border: 1px solid #C0C0C0; background-color: #FFFFCC; font-weight: bold;" id="td8" runat="Server">
                                        <asp:Label ID="Label8" runat="server" Text='<%#Eval("Field_Eight")%>'></asp:Label></td>

解决方案 »

  1.   

    dt1.Tables[0].Columns[7]大哥,这是取一个集合吧?
      

  2.   

    Style='<%# string.IsNullOrEmpty(Eval("").ToString())?"":""%>'
      

  3.   


    string.IsNullOrEmpty(Eval("").ToString())?"DISPLAY: none":""
      

  4.   

    比如说,我就想去第一行第七列
    应该是
    if (dt1.Tables[0].Rows[0][7].ToString()=="")是吧??
    那下面这两个方法哪个都不行啊
     DataList2.FindControl("td8").Visible = false;//这个不行
                    td8.Style["Display"] = "None"; //这个更不行,找不到
      

  5.   


    如梦大哥,我的前台是,如果td8里的label8为空,td8就不显示了。。
    这个是label8里写的吧,隐藏的只是label8,而不是td8吧?
      

  6.   

    后台设置td8:
        protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label lb = (Label)e.Item.FindControl("Label8");
                if (lb.Text == "")
                {
                    HtmlTableCell tcell = (HtmlTableCell)e.Item.FindControl("td8");
                    tcell.Visible = false;
                }
            }
        }