如果没有来自数据库的结果,如何在GridView的位置显示消息?
答案 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();
}