2016-11-29 150 views
0

在SQL Server 2012中使用Visual Studio 2015(VB)。这将变得很复杂,请耐心等待。在更新面板中不更新Gridview

我的问题是为什么不通过我的gridview更新?

我有一个网页,在远程服务器位置创建txt文件。这些文件然后由单独的(第三方工具)拾取,然后将它们发送给政府机构。政府机构然后发送每个txt文件的收据文件,然后我的网络应用程序将收到并记录结果。结果是接受或拒绝。

在网页上,我提供了一个显示最后十个结果的gridview,如果我一次发送一个文件(每次点击一下按钮),我的gridview将刷新而不会显示收据的结果。在创建文件,文件发送和收到的收据之间可能会有最新的差距。

下面的图片显示了我的gridview成功提交和接收后的一个例子。

Grid View showing results

当按钮被点击发送和接受列显示为红色与“否”内它们。

当点击按钮发送文件时,会处理创建文件的子文件。然后启动一个计时器(每隔10秒启动一次)运行另一个子计划以检查发送和接收。我没有问题,因为它按预期工作,gridview中的每个单元格都会更改以反映发送和接收状态。

这是通过调用构建gridview来完成的。

呼叫

displayLastSentGridView() 
    displayHistoryGridView() 
    historyUpdatePanel.Update() 

其中潜艇的构建gridview的

Public Sub displayLastSentGridView() 

    Dim mlastSent As New lastSent 
    Dim mLastSents As New List(Of lastSent) 
    mLastSents = mlastSent.lastSentGridView 
    gridLastSent.DataSource = mLastSents 
    gridLastSent.DataBind() 

End Sub 

确定这样的请求进来,当创建一个特定文件的另外4产生(具有不同的布局)并自动发送。我已经实现了这一点,它按预期工作。然后我使用一个新的子来检查这些文件的状态(因为它们的分类是不同的)。发送文件时,网页会更新数据库,标记该条目已发送,当收据被接受时,会将其标记为已接受。我的问题发生在这里。我使用与上面相同的代码来调用gridview更新,当发送甚至发生,并且接受进来但gridviedw不更新时。

如果我把代码放在子程序的末尾,所有的单元格都会更新,也就是说它会一次更新gridview,所有的单元格都会变成绿色,其中的内容是Yes,但是我希望它将每个单元格更新为数据库通知已更改。

下面是我的代码,它检查文件夹位置strSentFileLocation,如果它存在数据库更新,然后调用更新gridviews是一个excert。数据库更新工作,但gridview不会改变。

If File.Exists(strSentFileLocation) Then 

    db.ngc_updateActivityLogSent(True, seq) 
    db.ngc_updateActivityLogRejected(False, "N/A", seq) 
    db.ngc_updateActivityLogAccepted(False, seq) 

    'update gridviews 
    displayLastSentGridView() 
    displayHistoryGridView() 
    historyUpdatePanel.Update() 

End If 

我的更新面板设置为条件。

任何帮助非常感谢。由于

UPDATE

Info的IF语句嵌套一个FOR循环中。

回答

0

from是for循环,因为sub从未实际完成更新面板,所以从未得到更新的机会,直到最后。我已经删除了for循环,并添加到一个隐藏的字段中,我增加并调用sub,直到隐藏字段达到特定值。