场景: 我们有一个DataGridView,它附加到DataAdapter(datatable),我们使用(adapter.fill(query,datatable))在单独的线程中(使用委托和beginInvoke)加载datatable中的数据,一旦数据加载完成,我们将该datatable附加到datagridview(在主线程中)
有没有办法检查fill()是否仍在执行并取消它。
真实情况: 用户点击用户名,相应的数据加载到datagrid中。 有时,用户会不耐烦地点击另一个用户(在这里我想取消以前的填充并开始新的填充)
更新: 我们保留两个DataApdaters(和两个DataTables),并将一个datatable附加到datagridview并异步开始加载数据到另一个datatable。当数据加载完成后,我们只需将datagridview绑定到我们刚刚填充的DataTable(并异步开始加载上一个datable)。 这样,UI将始终获得当前数据(而无需等待UI刷新或挂起)