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>

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 に答える