2009-11-22 4 views
0

J'ai un contrôle ListView. J'affiche les données mais une fois que l'utilisateur clique sur le bouton d'effacement toutes les données qui sont montrées dans le contrôle ListView devraient s'éteindre (vide). Nous devrions effacer son contenu et afficher un message aucune donnée à afficher.comment effacer les éléments d'un contrôle listview et d'un datapager

Même la radiomessagerie (j'utilise le contrôle DataPager pour effectuer une radiomessagerie) qui a été montrée plus tôt quand les données étaient là ne devrait pas être montrée puisque nous avons effacé les données. Mon code ressemble à ceci:

protected void lvEmployee_DataBound(object sender, EventArgs e)  
{  
    DropDownList ddl = DataPager1.Controls[1].FindControl("ddlPage") as DropDownList;       
    int PageCount = (DataPager1.TotalRowCount/DataPager1.PageSize);  
    if (PageCount*DataPager1.PageSize != DataPager1.TotalRowCount) 
    { 
     PageCount = PageCount + 1; 
    }    

    for (int i = 0; i < PageCount; i++) 
    { 
     ddl.Items.Add(new ListItem((i+1).ToString(),i.ToString())); 
    } 

    ddl.Items.FindByValue(CurrentPage.ToString()).Selected = true; 
} 

Lorsque j'effacerai, toutes les données devraient s'éteindre et même la pagination.

Répondre

4

Pour effacer toutes les valeurs:

// in your .cs 
lvEmployee.DataSource = null; 
lvEmployee.DataBind(); 

Pour afficher un message lorsque aucune donnée existe mettre en œuvre le EmptyDataTemplate:

// in your .aspx 
<asp:ListView ID="lvEmployee" runat="server"> 
    <EmptyDataTemplate> 
     No data available. 
    </EmptyDataTemplate> 
</asp:ListView> 
Questions connexes