首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过委托加载DataGridView

通过委托加载DataGridView
EN

Stack Overflow用户
提问于 2012-03-14 02:45:27
回答 1查看 1.2K关注 0票数 0

我正在尝试通过委派更新DataGridView。这是一个简单应用程序的一部分,但初始查询需要4-5秒才能生成。我想使用FillSchema来构建DataGridView,这样应用程序就可以快速启动,然后更新数据。这是我第一次尝试代表,所以欢迎所有的批评。

代码语言:javascript
运行
复制
Private Sub LoadGrid(ByVal loadType As String)
    StringBuild()

    If loadType = "Schema" Then
        da.FillSchema(ds, SchemaType.Source, "Requests")
    Else
        da.Fill(ds, "Requests")
    End If
End Sub

Private Sub LoadGridAsync()
    Dim del As New delLoadGrid(AddressOf LoadGrid)
    Dim cb As New AsyncCallback(AddressOf LoadGridCallback)
    Dim result As IAsyncResult
    result = del.BeginInvoke("Full", cb, del)
End Sub

Private Sub LoadGridCallback(ByVal result As IAsyncResult)

    Dim delS As delLoadGrid
    Dim delR As New delRefreshGrid(AddressOf RefreshGrid)
    delS = CType(result.AsyncState, delLoadGrid)
    delS.EndInvoke(result)

    Invoke(delR)
End Sub

Private Sub RefreshGrid()
    dgvSign.Update()
End Sub

我可以在RefreshGrid sub中使用debug.print命令,它肯定会触发。为什么它不更新,有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-14 03:17:11

我自己并不经常使用DataGrid,但我认为Update方法与将数据放入控件没有任何关系,只是它如何重新绘制。因此,在将数据加载到后台线程之后,仍然需要实现一些逻辑来将其放入网格中。您需要一些代码来设置RefreshGrid中的DataSource。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9690123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档