データベースからの結果がない場合、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>
MSDNGridView.EmptyDataRowStyle
プロパティの例(.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";
このアプローチは、どのメッセージをいつ表示するかを制御できるので便利です。
私の場合、IEの場合、ページが最初に表示されたとき(!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 に答える