Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Database leeg > Gridview wordt niet getoond [ASP.NET]

dalertje
2 antwoorden
  • Hoi,

    De inhoud van een tabel van een (Access) database wordt d.m.v. een gridview getoond, maar wanneer de tabel leeg is, verdwijnt de hele gridview van het scherm. Om de gridview weer tevoorschijn te laten komen, moet ik enkele dummy-gegevens rechtstreeks in de tabel invoegen. Doe ik iets fout, waardoor dit probleem onstaat, of is dit juist en kan ik op een of andere manier een 'workaround' vinden?

    M.vr.gr., Dalertje
  • Een gridview heeft allerhande handige instellingsmogelijkheden, waaronder ook voor het geval de datasource leeg is. Je hoeft dus geen dummy data aan je tabel toe te voegen.
    Waar je naar zoekt is het volgende: <EmptyDataTemplate>. Hierin kun je van alles plaatsen in het geval dat je tabel leeg is.

    Een klein voorbeeld (op basis van de noordenwind.mdb):
    [code:1:0cde1c2015]
    <asp:GridView ID="grid" runat="server" AutoGenerateColumns="false" DataSourceID="NWind" Width="800px" Height="240px">
    <EmptyDataTemplate>
    <p>Geen gegevens gevonden.</p>
    </EmptyDataTemplate>
    <Columns>
    <asp:BoundField DataField="FirstName" HeaderText="Voornaam" />
    <asp:BoundField DataField="LastName" HeaderText="Achternaam" />
    <asp:BoundField DataField="City" HeaderText="Plaats" />
    </Columns>
    </asp:GridView>
    <asp:AccessDataSource ID="NWind" runat="server" /> // ingekort

    [/code:1:0cde1c2015]Als je bovenstaande gridview gebruikt, zie je de tekst "Geen gegevens gevonden" wanneer je tabel leeg is, en door de gridview een hoogte en breedte mee te geven pak je gelijk de ruimte die je eventueel wil reserveren.
    Je ziet trouwens niet de kolommen van de datasource, maar dat kan je oplossen door een tabel in de EmptyDataTemplate te plaatsen, met daarin de kolommen.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.