C# 我想在界面载入的时候使用BackgroundWorker从数据库去数据添加到combobox的选项中。

因为需要提取的数据比较多,如果直接写在界面Load事件中会比较卡,我现在是在主界面中的DoWork实践中将数据全部取出来并放到DataTable中然后在加载下一个界面时直... 因为需要提取的数据比较多,如果直接写在界面Load事件中会比较卡,我现在是在主界面中的DoWork实践中将数据全部取出来并放到DataTable中然后在加载下一个界面时直接用datatable中数据去添加选项,不会使用ReportProcess()实现,我需要的就是直接进入界面,然后后台取数据并添加到combobox的选项中。
假设我的方法就是cmobobox.datasource = sql.GetOption();
后面是我自己写的 private Static DataTable GetOption(){}
请教一下具体代码应该怎么写?
展开
 我来答
龙的猫
推荐于2016-07-30 · TA获得超过447个赞
知道小有建树答主
回答量:562
采纳率:73%
帮助的人:267万
展开全部
public class A
{
BackgroundWorker bg;
public A()
{
bg = new BackgroundWorker();
bg.DoWork += bg_DoWork;
bg.RunWorkerCompleted += bg_RunWorkerCompleted;

bg.RunWorkerAsync();
}

void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
DataTable dt= e.Result as DataTable;
//稿如绑定吧
}

void bg_DoWork(object sender, DoWorkEventArgs e)
{
//取数 吧取到的数返回
DataTable dt= new DataTable();
e.Result = dt;
}
}

如磨枣果你键游启的数量太大的话建议datagrid 使用虚模式加载
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式