gridview单元格没有数据怎么判断?如果没有数据就显示:“无数据”,我使用e.Row.Cells[i].Text判断的时候没有用,这是怎么回事?

解决方案 »

  1.   

    应该判断数据源中对应的数据而不是判断表格中的内容,就象楼上说的,如果某个单元格没有数据,GridView会在其中填充 这个html空格符,所以它的内容其实并不是空的。
      

  2.   

    如果空值会显示 "这时候你需要if(e.Cell[i].Text.Trim()=" ")
    {}
      

  3.   

    若不是模板列,如楼上说的:
    if(e.Cell[i].Text.Trim()=" ") 
    若是模板列,则要用FindControl判断是否为""!!
      

  4.   

    (e.Row.FindControl("haha")as Label).Text==""
      

  5.   

    在gridview绑定之前把dataset处理一下,代码如下 for(int i =0 ; i < ds.Tables[0].Rows.Count;i++)
    {
    if (ds.Tables[0].Rows[i]["姓名"].ToString() =="") 
    {
    ds.Tables[0].Rows[i]["姓名"]  = "无数据";
    }  
    } gridview.DataSource=ds 
                                    ...... 
      

  6.   


    “判断单元格没有数据”,这个有点偏门。如果判断数据源中有没有数据可绑定,那么你可以在模板中原来的绑定控件旁边放入一个Label: <asp:Label ID="Label2" runat="server" Text="无数据" Visible='<%# Eval("字段名")==string.Empty %>' />这样,当绑定的值为空串时这个label就自动显示出来了。当然,你可以根据自己的数据的情况去处理空值、dbnull、一长串空白等等,而不仅仅是这里的空串。
      

  7.   

    正解为: &nbsp
    错误解为: ""
      

  8.   

    最简单方法:
    <asp:GridView  runat="server" width="100%" EmptyDataText="暂无数据">
    做到Skin文件里就成通用的了.更方便了.
      

  9.   

    其实还可以绑定前检查datatble是否有空字段,先判断是否为空,不为空再trim()判断长度但&nbsp 不一定有用,如果有两个空格怎么办,那三个呢?如果情景不在此列除外!
      

  10.   

    e.row.cells[i].text==""
    或<asp:Label ID="Label2" runat="server" Text="无数据" Visible='<%# Eval("字段名")==string.Empty %>' />