J'ai iframe où j'ai plusieurs graphiques et vues de grille où les graphiques et vues de grille récupèrent les données de la base de données. Lorsque les enregistrements n'ont trouvé aucun problème, mais pour certains utilisateurs, ils n'ont pas d'enregistrements pour l'un des affichages de grille où je dois afficher un message ".
suggérez-moi gentiment à ce sujet ... J'ai essayé le code ci-dessous qui affiche un message, mais il apparaît dans une petite boîte, mais je dois l'afficher dans la grille.
<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>
Ici, je ne montre pas d’en-tête de grille, mais je le dois!
Définissez la propriété ShowHeaderWhenEmpty
sur le GridView sur true
.
http://msdn.Microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.showheaderwhenempty.aspx
Mais vous devez toujours DataBind le gridview. Cet extrait de code a fonctionné pour moi:
<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>
essayez de régler emptydatatext
et ShowHeaderWhenEmpty
<asp:gridview id="GridView"
datasourceid="DataSource"
autogeneratecolumns="true"
emptydatatext="No data in the data source."
runat="server"
ShowHeaderWhenEmpty="True">
</asp:gridview>
L'approche que j'utilise pour gridview pour aucun enregistrement trouvé est la suivante: lorsqu'il n'y a pas d'enregistrements dans la base de données, j'efface toutes les lignes de la grille et ajoute une nouvelle ligne dans la grille sous forme de texte. pour aucun résultat trouvé, puis utilisez-le dans la fonction bind de gridview. Lorsqu'il n'y a pas d'enregistrements, vous pouvez appeler cette fonction.
Pour ceux qui utilisent encore ASP.net 2 ou 3.5, la propriété ShowHeaderWhenEmpty
n'existe pas. Pour contourner ce problème, utilisez simplement la propriété EmptyDataText="..."
et rendez la grille visible uniquement lorsque des données ont été trouvées (en code derrière).