2013-08-20 83 views
0

我有一个带有编辑/更新命令按钮的gridview。我正在使用下拉菜单为gridview数据源(ds2)设置selectcommand,如下所示。Gridview更新后没有绑定

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
Try 
If ddFilter.SelectedValue = "Title" Then ds2.SelectCommand = "SELECT * FROM [contentStore] WHERE ([Title] LIKE '%' + @Title + '%') order by [Title] asc" 
If ddFilter.SelectedValue = "URL" Then ds2.SelectCommand = "SELECT * FROM [contentStore] WHERE ([URL] LIKE '%' + @Title + '%') order by [URL] asc" 
If ddFilter.SelectedValue = "ID" Then ds2.SelectCommand = "SELECT * FROM [contentStore] WHERE ([ID] LIKE '%' + @Title + '%') order by [ID] asc" 
GridView1.DataBind() 
Catch ex As Exception 
lblFilter.Text = "<h3>Filter Issue</h3>" & ex.ToString 
End Try 
End Sub 

麻烦的是,当我使用编辑/更新组合正确但在GridView不会再次结合本身的记录被更新。如果我再次按下按钮,gridview会反弹,显示更新后的数据。

我的问题是如何能得到GridView控件本身更新后绑定

+1

发布编辑/更新命令的代码。 –

+0

您是否尝试在'row_command'事件处理程序结束时重新绑定? –

回答

1

良好,没有看到你的代码,我的猜测是,你需要复制的逻辑在你按一下按钮处理程序命令逻辑,这样的执行并绑定网格的SQL会再次发生,如下所示:

Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) 
    If e.CommandName = "Edit" Then 
     ' Do logic here 

     If ddFilter.SelectedValue = "Title" Then 
      ds2.SelectCommand = "SELECT * FROM [contentStore] WHERE ([Title] LIKE '%' + @Title + '%') order by [Title] asc" 
     End If 

     If ddFilter.SelectedValue = "URL" Then 
      ds2.SelectCommand = "SELECT * FROM [contentStore] WHERE ([URL] LIKE '%' + @Title + '%') order by [URL] asc" 
     End If 

     If ddFilter.SelectedValue = "ID" Then 
      ds2.SelectCommand = "SELECT * FROM [contentStore] WHERE ([ID] LIKE '%' + @Title + '%') order by [ID] asc" 
     End If 

     GridView1.DataBind() 
    End If 
End Sub