如果表为空,则为GridView ASP

时间:2012-10-06 06:53:39

标签: c# asp.net

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

5 个答案:

答案 0 :(得分: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.EmptyDataRowStyle Property的示例(自.NET 2.0起可用)

答案 1 :(得分:4)

您在EmptyDataText

上键入<asp:GridView ... >属性

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

EmptyDataRowStyle-CssClass来设置它。

答案 2 :(得分: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 = "";
}

答案 3 :(得分:1)

你也可以把你的代码放在后面: C#

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

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

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

如果查询显示为空,那么我可以说:“抱歉,没有找到数据....”

答案 4 :(得分:0)

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

if(dt.Rows.Count > 0)
{
  //call Bind grid method here       
}
else
{
     Grid.DataSource=null;
     Grid.DataBind();
}