缓存的DataGridView行:如何我使用SQLite语句从这样的数据库中检索数据从SQLite数据库
SQLiteConnection sqlConnection;
SQLiteCommand sqlCMD;
SQLiteDataReader sqlReader;
sqlConnection = new SQLiteConnection("Data Source=newlist.db;Version=3;New=False;Compress=True;");
sqlCMD = sqlConnection.CreateCommand();
sqlCMD.CommandText = "SELECT * FROM table_name";
sqlReader = sqlCMD.ExecuteReader();
while (sqlReader.Read())
{
//do stuff
}
所以整个SQLite表装入DataDridView(grid_list
)我用下面的语句中sqlReader.Read()
环
grid_list.Rows.Add();
grid_list.Rows[index].Cells[0].Value = sqlReader.GetString(0);
grid_list.Rows[index].Cells[1].Value = sqlReader.GetString(1);
grid_list.Rows[index].Cells[2].Value = sqlReader.GetString(2);
并且它导致期望的输出,但是当涉及到大的文件,如约100 MB或以上,它使UI慢,所以我如何显示在块这些表,就像一个源代码文本编辑器(例如, g:崇高文字3)。
因此,在总结: 如何通过块从数据库中显示一个DataGridView行块,而不是一次全部装入了整个数据到内存
使用[VirtualMode](https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.virtualmode(v = vs.110).aspx)。请参阅[这里](https://msdn.microsoft.com/en-us/library/ms171621(v = vs.110).aspx)。 –