4

如果没有来自数据库的结果,如何在 GridView 的位置显示一条消息?

4

5 回答 5

7

GridView一个EmptyDataRow模板和样式,只需使用它:

  <asp:gridview id="CustomersGridView" 
    datasourceid="CustomersSqlDataSource" 
    autogeneratecolumns="true"
    runat="server">

    <emptydatarowstyle backcolor="LightBlue"
      forecolor="Red"/>

    <emptydatatemplate>

      <asp:image id="NoDataImage"
        imageurl="~/images/Image.jpg"
        alternatetext="No Image" 
        runat="server"/>

        No Data Found.  

    </emptydatatemplate> 

  </asp:gridview>

来自 MSDN GridView.EmptyDataRowStyleProperty的示例(自 .NET 2.0 起可用)

于 2012-10-06T06:57:29.080 回答
4

还有EmptyDataText您在<asp:GridView ... >

EmptyDataText="There is no items in the list box"

EmptyDataRowStyle-CssClass样式它。

于 2012-10-06T07:03:57.173 回答
1

您可以使用EmptyDataText属性。

GridView1.EmptyDataText = "No data found";

其他方式,但上面给出的方法是更好的方法。

if (dt != null && dt.Rows.Count == 0)
{
    lblAfterGridGridView1.TextEmptyDataText = "No recorddata found";
}
if(dt.Rows.Count > 0)
{
    //Show grid here
    lblAfterGrid.Text = "";
}
于 2012-10-06T06:55:14.650 回答
1

你也可以直接在你的代码后面:C#

GridView1.EmptyDataText = "This table has no data, or whatever";

这种方法很好,因为您可以控制何时显示哪条消息。

在我的情况下,当页面首次出现时(!IsPostback)我可以说:“请选择字段......”

如果查询为空,那么我可以说:“对不起,没有找到数据......”

于 2013-02-07T02:09:25.877 回答
0

使用EmptyDataText属性来设置您的空网格文本。并且只需将您DataGrid与 null 绑定,以显示空文本..

if(dt.Rows.Count > 0)
{
  //call Bind grid method here       
}
else
{
     Grid.DataSource=null;
     Grid.DataBind();
}
于 2012-10-06T07:14:49.847 回答