gridview没有数据的时候,我想显示表头+空行(“no records found”)
就是在RowDataBound中判断是否有没有数据行,如果没有,数据行增加一行显示"no records found"
请问如何实现?

解决方案 »

  1.   

    把gridView隐藏起来.再<div>no   records   found</div>
      

  2.   

    我想把表头也显示出来
    本来想用emptydatatemplate
    不过emptydatatemplate外面会增加一个边框,不知道如何去掉
      

  3.   

    空表头可以在RowDataBound事件中绑定空头数据
    如果没有数据,要显示"no   records   found“
    其实可以用SKIN做到
    <asp:GridView runat="server" >
            <EmptyDataTemplate>
                <div style="background-color:#FFFFFF color:#ff0000">
                <div>还没有记录!</div>
                </EmptyDataTemplate>
        <EmptyDataRowStyle HorizontalAlign="Center" />
    </asp:GridView>
    这个就可以实现在没有数据的时候显示还没有记录
    楼主试试。
      

  4.   

    显示表头+空行(“no   records   found”) 
    大家忘了表头了,使用EmptyDataTemplate不知道怎么把边框去掉?
      

  5.   

    绑定之前判断datatable是否为空
    如果为空 手工加入一行数据
            da.Fill ( ds, "data" );        if ( ds.Tables [ "data" ].Rows.Count == 0 )
            {
                ds.Tables [ "data" ].Columns.Clear ();
                ds.Tables [ "data" ].Columns.Add ( "emp_id" );
                ds.Tables [ "data" ].Columns.Add ( "fname" );
                ds.Tables [ "data" ].Columns.Add ( "job_id" );
                DataRow dr = ds.Tables [ "data" ].NewRow ();
                dr [ "emp_id" ] = "No";
                dr [ "fname" ] = "Record";
                dr [ "job_id" ] = "Found";
                ds.Tables [ "data" ].Rows.Add ( dr );
            }
            if ( !IsPostBack )
            {
                this.GridView1.DataSource = ds.Tables [ "data" ];
                this.GridView1.DataBind ();
            }
    注意data emp_id fname job_id分别都是对应你自己的!!!当然还可以通过js客户端来实现
      

  6.   

    EmptyDataTemplate默认有个外边框,如何去掉?
      

  7.   

    去掉边框
    protected void GridView1_DataBinding ( object sender, EventArgs e )
        {
            GridView1.BorderWidth = 0;
        }
      

  8.   

    绑定之前判断datatable是否为空
    请问如何判断?
      

  9.   

    绑定的时候判断数据集中数据是否为空  如果为空增加一行 和7楼的方法差不多。
      if (ds.Tables[0].Rows.Count == 0)
                {
                    ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
                    GridView1.DataSource = ds;
                    GridView1.DataBind();
                    int columnCount = GridView1.Rows[0].Cells.Count;
                    GridView1.Rows[0].Cells.Clear();
                    GridView1.Rows[0].Cells.Add(new TableCell());
                    GridView1.Rows[0].Cells[0].ColumnSpan = columnCount;
                    GridView1.Rows[0].Cells[0].Text = "No Records Found.";
                }
                else
                {
                    GridView1.DataSource = dv;
                    GridView1.DataBind();
                }
    行的话兄弟别忘了接贴 呵呵。
      

  10.   

    使用添加新的空行;和“EmptyDataTemplate”;都是可以的,楼上的兄弟提供的方式可用;多谢你们