有一个frmMain窗体,load的时候,执行了BindData(),赋予datagrid数据源,选择一条,点击modeify按钮,弹出frmModify窗体,修改完毕,frmModify关闭之前又调用了frmMain.BindData(),但是datagrid没有刷新。有什么办法吗?

解决方案 »

  1.   


    Private Sub cmd_calc_ok1_Click()
    ......
    sql1 = "update calculate set calc_name='" & txt_calc_name.Text & "',calc_inout='" & cmb_calc_inout.Text & "',calc_proportion='" & txt_calc_proportion & "',calc_summoney='" & txt_calc_summoney.Text & "',calc_mode='" & cmb_calc_mode.Text & "',calc_time='" & DTPicker_calc_time.Value & "',calc_condition='" & txt_calc_condition.Text & "',calc_state='" & cmb_calc_state.Text & "',calc_fundtype='" & cmb_calc_fundtype.Text & "' where calc_id=" & txt_id.Text 
    rs.CursorLocation = adUseClient
    rs.Open sql1, conn, 3, 3
    Set rs = Nothing
    '改完后更新dg_calc
    frm_main.grid_refresh_calc1 (txt_conid.Text)
    Unload Me
    End Sub-----frm_main--------
    Public Sub grid_refresh1(n As Integer)
    Set dg_cour.DataSource = Nothing
    dg_cour.RefreshDim sql_datcour As String
    Dim contid As Integer
    contid = n
    sql_datcour = "select * from course where cont_id=" & contid & " and cour_finished=false order by cour_id desc"
    rs1.CursorLocation = adUseClient
    rs1.Open sql_datcour, conn, 3, 3
    Set dg_cour.DataSource = rs1
    dg_cour.Refresh
    Set rs1 = NothingEnd Sub