none
Pagination dans un dataGridView dans un windows form RRS feed

  • Question

  • Bonjour,

    j'ai un datagridview qui récupère des données depuis une base de données et les affiche.
    les champs sont les suivants : Nom , Prénom , Entreprise , Section , Id_Empreinte , Empreinte , Préviliège

    J'aimerai utiliser un binding navigator pour afficher uniquement 20 rows par page . 

    j'ai essayé avec ce code, et le problème est que mon datagridview n'affiche aucun tuple .

    private const int totalRecords = 10000;
            private const int pageSize = 18;
    
    
            public Form1()
            {
                InitializeComponent();
    
                dataGridView1.Columns.Add(new DataGridViewTextBoxColumn { DataPropertyName = "Index" });
                bindingNavigator1.BindingSource = employesBindingSource;
                employesBindingSource.CurrentChanged += new System.EventHandler(employesBindingSource_CurrentChanged);
                employesBindingSource.DataSource = new PageOffsetList();
            }
    
           
    
            private void employesBindingSource_CurrentChanged(object sender, EventArgs e)
            {
                // The desired page has changed, so fetch the page of records using the "Current" offset 
                int offset = (int)employesBindingSource.Current;
                var records = new List<Record>();
                for (int i = offset; i < offset + pageSize && i < totalRecords; i++)
                    records.Add(new Record { Index = i });
                dataGridView1.DataSource = records;
            }
    
    
            class Record
            {
                public int Index { get; set; }
            }
    
            class PageOffsetList : System.ComponentModel.IListSource
            {
                public bool ContainsListCollection { get; protected set; }
    
                public System.Collections.IList GetList()
                {
                    // Return a list of page offsets based on "totalRecords" and "pageSize"
                    var pageOffsets = new List<int>();
                    for (int offset = 0; offset < totalRecords; offset += pageSize)
                        pageOffsets.Add(offset);
                    return pageOffsets;
                }
            }

    je n'arrive pas a configurer ma source de données. à l'aide s'ils vous plaît!! 
    Je vous remercie d'avance ..

    mercredi 21 août 2013 14:46

Réponses

Toutes les réponses