2010-07-13 16 views
1

J'essaie d'extraire des données de la base de données et de charger la base de données avec les valeurs récupérées. Plus tard, je trier les données dans la table en fonction de nom, puis je veux lier avec un CheckedListBoxProblème avec DataView Tri

Cependant, lorsque j'essaie d'utiliser la classe DataView comme indiqué dans le code ci-dessous, je vois un clignotement se produisant l'affichage des données et une fois toutes les données triées, alors il devient stable.

Comment se débarrasser du scintillement? En ce sens, je veux trier toutes les données et les afficher toutes en même temps.

myReader = cmd.ExecuteReader();

while (myReader.Read())
{
myTableForCBL.Rows.Add(myReader["Name"],myReader["rollNumber"]);
}
DataView view = myTableForCBL.DefaultView;
view.Sort = "Name";
checkedListBox1.DataSource = myTableForCBL; //datatable for checked list box
checkedListBox1.DisplayMember = "Name";
checkedListBox1.ValueMember = "rollNumber";

Répondre

1

C'est parce que je suis le tri de la façon dont les données sont affichées et non pas seulement les données elles-mêmes. Donc, ça scintille. Plutôt que cela, trier les données dans le DataTable en utilisant le

DataRow [] rows = DataTable.select (filterexpression, sortVariable); // assurez-vous que filterexpression = "", pour sélectionner toutes les lignes si vous voulez certaines lignes, écrivez une expression filtrée qui fait le filtrage. // sortVariable d'être une colonne du DataTable

importer ensuite les lignes à une autre table temporaire et à la source au CheckedListBox

Puis le scintillement ou clignotement des arrêts de données.