2010-11-15 24 views
3

J'ai un Telerik RadGrid. En utilisant une méthode, je remplis la grille. J'ai activé la propriété de pagination. J'ai utilisé ItemTemplate -> ImageButton pour supprimer et modifier les options. J'ai défini la taille de la page sur 10. Le temps de chargement de la page fonctionne correctement et remplit la grille. Après l'insertion de la 11e rangée, la pagination commence et apparaît sur la page suivante avec un enregistrement. Mais quand je supprime la 11ème rangée, la grille devient vide. J'ai utilisé l'ensemble de données pour lier les enregistrements.La suppression de la 11ème ligne dans RadGrid devient vide

radgrid.DataBind(); 
dsDataset.Dispose(); 

Mais son item.count est 0. Quelle est la raison?

protected void Page_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     if (!IsPostBack) 
     { 
      PopulatePackage(); 
     } 
    } 
    catch (Exception ex) 
    { 
     lblMessage.Text = objUtl.GetErrorMessage(ex, this); 
     lblMessage.Visible = true; 

protected void gvPackage_NeedDataSource(object source, GridNeedDataSourceEventArgs e) 
{ 
    try 
    { 
     SqlHelper objSQL = new SqlHelper(); 
     DataSet dsPackage = new DataSet(); 
     dsPackage = objSQL.ExecuteDataset("AL_PackageType_List_Retrieve", objUtl.NumericEntry(Session["LocationId"].ToString())); 
     gvPackage.DataSource = dsPackage.Tables[0]; 
     dsPackage.Dispose(); 
     //PopulatePackage(); 
    } 
    catch (Exception ex) 
    { 
     lblMessage.Text = objUtl.GetErrorMessage(ex, this); 
     lblMessage.Visible = true; 
    } 
} 

private void PopulatePackage() 
{ 
    try 
    { 
     lblMessage.Text = string.Empty; 
     SqlHelper objSQL = new SqlHelper(); 
     DataSet dsPackage = new DataSet(); 
     dsPackage = objSQL.ExecuteDataset("AL_PackageType_List_Retrieve", objUtl.NumericEntry(Session["LocationId"].ToString())); 
     gvPackage.DataSource = null; 
     gvPackage.DataSource = dsPackage.Tables[0]; 
     gvPackage.DataBind(); 
     //dsPackage.Dispose(); 
     if (gvPackage.Items.Count <= 0) 
     { 
      lblMessage.Text = "No Package Details Found..."; 
      gvPackage.Visible = false; 
     } 
     else 
     { 
      gvPackage.Visible = true; 
     } 
    } 
    catch (Exception ex) 
    { 
     lblMessage.Text = objUtl.GetErrorMessage(ex, this); 
     lblMessage.Visible = true; 
    } 
} 
+0

peut vous envoyer un code? – Arief

+0

Pourquoi n'utilisez-vous pas leur support? Vous l'avez payé ... –

+0

@ Aurélien Ribon Merci pour la réponse .... j'essaie mais ... il faudra du temps ... – Joby

Répondre

0

Ok pour autant que je suis le comprendre, vous avez un RadGrid dans lequel vous avez autorisé la pagination et définir la taille de la page à 10. Lors de l'insertion du 11 enregistrer une nouvelle page est affichée avec ce 11e enregistrement. Et lorsque ce 11ème enregistrement est supprimé, vous affichez une page vierge, au lieu de montrer la page ayant un enregistrement de 1 à 10. J'espère que je suis juste ici.

Quoi qu'il en soit. Je suppose que le problème est que le Radgrid n'a pas les données pour la page que vous regardez maintenant.

Il existe un événement dans RadGrid nommé NeedDataSource. Cet événement est activé chaque fois que RadGrid doit afficher les données. Vous pouvez appeler la logique de liaison dans cet événement et voir si cela fonctionne pour vous.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     BindGrid(); 
    } 
} 

private void BindGrid() 
{ 
    RadGrid1.DataSource = "BindingSource"; 
    RadGrid1.DataBind(); 
} 

protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) 
{ 
    BindGrid(); 
} 

Voir si cela fonctionne pour vous ..

+0

Oui ... Vous avez raison ... J'ai fait le code ci-dessus ... mais ne fonctionne pas – Joby

+2

Lorsque vous utilisez NeedDataSource, vous n'appelez pas DataBind() ou il déclenchera une exception – Arief

+0

@Arief Iman Santoso .... oui ... c'est correct ... je peux voir le compte dans le tableau [0] .. mais il ne montre pas à datagrid ... quand je le rafraîchis ça va fonctionner .... – Joby