目前在做一个数据检索界面,界面首次加载时数据量挺大,越2w条记录,看了有网友说要开启VirtualMode,我就尝试了一下,把从数据库查到的数据放到DataTable中,然后写了CellValueNeeded事件,现在加载约10s可以搞定,但是问题来了:使用VirtualMode初始化时,dgvQueryResult.RowCount = dt.Rows.Count; 但查询条件变了后,dt变了,CellValueNeeded事件就不好使了。CellValueNeeded事件是这样写的,请各位大神帮我指点一下,这个事件要怎么写才能满足不同的查询要求。或者说我哪些地方还没考虑到,请大家指点一下,谢谢!
private void dgvQueryResult_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { if (e.RowIndex == dt.Rows .Count ) return; e.Value = dt.Rows[e.RowIndex][e.ColumnIndex].ToString(); }