我正在尝试从数据库中获取数据并使用获取的值加载数据库。后来我根据Name对表中的数据进行排序,然后我想将它与CheckedListBox绑定
但是,当我尝试使用下面代码中显示的DataView类时,我看到在显示数据时出现闪烁,一旦所有数据都被排序,它就会变得稳定。
如何摆脱闪烁?从某种意义上说,我想对所有数据进行排序,并立即显示所有数据。??
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";
答案 0 :(得分:1)
这是因为我正在对数据的显示方式进行排序,而不仅仅是数据本身。所以,它闪烁着。而不是那样,使用
对DataTable中的数据进行排序DataRow [] rows = DataTable.select(filterexpression,sortVariable);
//确保filterexpression =“”,如果你想要某些行,选择所有其他行,写一个进行过滤的filterexpression。 // sortVariable是DataTable的一列
然后将行导入另一个临时表并将其导入CheckedListBox
然后闪烁或闪烁数据停止。