18

我有 iframe,我有几个图表和网格视图,其中图表和网格视图正在从数据库中获取数据。当记录没有发现问题但对于某些用户没有记录的网格视图之一时,我必须显示一条消息“未找到记录”。

请就此向我提出建议。我尝试了下面的代码,它显示了一条消息,但它显示在小框中,但我需要在 gridview 中显示。

   <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
   <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
       <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
       <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
 <EditRowStyle BackColor="#999999" />
 <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
  <EmptyDataTemplate>No records Found</EmptyDataTemplate>

在这里我没有显示网格标题,但我必须!

4

4 回答 4

36

ShowHeaderWhenEmptyGridView 上的属性设置为true.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.showheaderwhenempty.aspx

但是您仍然必须对gridview 进行DataBind。此代码段对我有用:

    <asp:GridView ID="GridView1" runat="server" ShowHeaderWhenEmpty="True" EmptyDataText="No records Found">
    <Columns>
          <asp:boundfield datafield="CustomerID" headertext="Customer ID"/>
          <asp:boundfield datafield="Name" headertext="Name"/>
    </Columns>
   </asp:GridView>
于 2013-01-03T03:29:10.000 回答
5

尝试设置 emptydatatextShowHeaderWhenEmpty

<asp:gridview id="GridView" 
        datasourceid="DataSource" 
        autogeneratecolumns="true"
        emptydatatext="No data in the data source."
        runat="server"
        ShowHeaderWhenEmpty="True">
      </asp:gridview>
于 2013-01-03T03:35:37.837 回答
0

我对 gridview 使用的未找到记录的方法是,当数据库中没有记录时,我清除网格中的所有行并在网格中添加一个新行作为未找到记录的文本,或者您可以创建一个函数对于没有找到结果,然后在gridview的绑定函数中使用它。当没有记录时,您可以调用该函数。

于 2013-01-03T04:32:36.220 回答
0

对于仍在使用 ASP.net 2 或 3.5 的用户,该ShowHeaderWhenEmpty属性不存在。要解决这个问题,只需简单地使用该EmptyDataText="..."属性并仅在找到数据时才使 gridview 可见(在后面的代码中)。

于 2015-08-24T05:26:20.963 回答