Maison > Article > développement back-end > Implémenter la fonction de défilement automatique de GridView
Le dernier projet Winform utilise des contrôles DevExpress, j'ai donc récemment exploré l'utilisation de cet ensemble de contrôles. J'admire vraiment la puissance de l'ensemble des contrôles, et le code est également simple. écrire. Le client a une exigence, espérer que les résultats du rapport puissent défiler régulièrement sur un grand écran externe. Le contrôle que nous utilisons pour ce rapport est le GridControl. Les résultats de la requête ne peuvent pas être affichés complètement sur un seul écran. Nous ajoutons une minuterie et spécifions l'heure à laquelle GridView défile et affiche automatiquement les informations sur l'écran suivant.
Mais quand j'ai vu le code implémenté par mon collègue, je me suis senti un peu mal à l'aise. Son code approximatif est le suivant :
/// <summary>/// 当前的行索引/// </summary>private int currentRowHandle = 0;
/// <summary></summary>
/// 总共含有的行
///
private int totalRowCount = 0;
/// <summary>/// 定时器定时事件/// </summary>private void timerScroll_Tick(object sender, EventArgs e) { if (currentRowHandle == totalRowCount) currentRowHandle = 0; else { currentRowHandle += 40; if (currentRowHandle > totalRowCount) currentRowHandle = totalRowCount; } gridView1.FocusedRowHandle = currentRowHandle; }
Afin de réaliser la fonction de défilement automatique de GridView, le code introduit 2 champs et le nombre de lignes pour chaque défilement est programmé à 40. Lorsque la taille du formulaire et du contrôle est mise à l'échelle, il est possible que 40 lignes de données ne puissent pas être affichées sur un seul écran et que certaines données ne soient jamais affichées .
En consultant le manuel DevExpress, j'ai découvert que GridView fournit déjà des méthodes qui peuvent être utilisées directement pour obtenir l'effet de défilement des pages, et le code est toujours aussi simple, sans introduire des champs. Le code amélioré est le suivant :
/// <summary>/// 定时器定时事件/// </summary>/// <param>/// <param>private void timerScroll_Tick(object sender, EventArgs e) { if (gridView1.IsLastRow) { gridView1.MoveFirst(); } else { gridView1.MoveNextPage(); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!