在我的gridview中,我有用于在页脚中插入新记录的字段。
在我的objectdatasource选择事件中,如果没有记录回来,我绑定一个模拟行来强制显示页脚,这样他们仍然可以添加记录。由于该行不包含实际数据,因此我隐藏了该行。
...
If result.ItemCount = 0 Then
result = mockRow
AddHandler mygridview.PreRender, AddressOf HideRow
End If
End Sub
Private Sub HideRow(ByVal sender as Object, ByVal e as EventArgs)
mygridview.Rows(0).Visible = False
End Sub
这很好用。但是,我想这样压缩它:
...
If result.ItemCount = 0 Then
result = mockRow
AddHandler mygridview.PreRender, Function() mygridview.Rows(0).Visible = False
End If
End Sub
这个编译很好,但行不会被隐藏。谁能告诉我为什么我的匿名功能没有被击中?
答案 0 :(得分:2)
问题是您正在创建一个返回布尔值而不是赋值的函数。如果您正在使用VB 2008,那么您将陷入困境,但使用VB 2010,您可以改为使用VB。
AddHandler mygridview.PreRender, Sub() mygridview.Rows(0).Visible = False
答案 1 :(得分:0)
你不需要添加参数吗?
AddHandler mygridview.PreRender, _
Function(sender as Object, e as EventArgs) mygridview.Rows(0).Visible = False
答案 2 :(得分:0)
这就是你需要的:
AddHandler mygridview.PreRender, Sub(sender as Object, e as EventArgs) mygridview.Rows(0).Visible = False
所以,你们两个都是对的。