如果没有来自数据库的结果,如何在 GridView 的位置显示一条消息?
问问题
7058 次
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.EmptyDataRowStyle
Property的示例(自 .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 回答