没有记录时如何在gridview“未找到记录”中显示文本
Posted
技术标签:
【中文标题】没有记录时如何在gridview“未找到记录”中显示文本【英文标题】:How to display a text in gridview "No Records Found" when there is no record 【发布时间】:2012-12-17 10:26:14 【问题描述】:我有 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>
这里我没有显示网格标题,但我必须!
【问题讨论】:
【参考方案1】:将 GridView 上的 ShowHeaderWhenEmpty
属性设置为 true
。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.showheaderwhenempty.aspx
但是你仍然需要对gridview 进行DataBind。这段代码 sn-p 对我有用:
<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>
【讨论】:
【参考方案2】:尝试设置emptydatatext
和ShowHeaderWhenEmpty
<asp:gridview id="GridView"
datasourceid="DataSource"
autogeneratecolumns="true"
emptydatatext="No data in the data source."
runat="server"
ShowHeaderWhenEmpty="True">
</asp:gridview>
【讨论】:
【参考方案3】:我对 gridview 使用的未找到记录的方法是,当数据库中没有记录时,我清除网格中的所有行并在网格中添加一个新行作为未找到记录的文本,或者您可以为未找到结果创建一个函数,然后在 gridview 的绑定函数中使用它。当没有记录时,您可以调用该函数。
【讨论】:
【参考方案4】:对于仍在使用 ASP.net 2 或 3.5 的用户,ShowHeaderWhenEmpty
属性不存在。要解决这个问题,只需使用EmptyDataText="..."
属性并让gridview 仅在找到数据时可见(在后面的代码中)。
【讨论】:
以上是关于没有记录时如何在gridview“未找到记录”中显示文本的主要内容,如果未能解决你的问题,请参考以下文章
如果未找到记录,如何在 Movilizer 数据网格中显示消息
当在C#Windowsforms中找不到搜索结果时,如何显示未找到记录的消息
当没有找到记录并且失败时,PHP PDO fetch 返回 FALSE
当我在gridview中过滤行没有找到记录时如何禁用导出按钮