为什么GridView中的DataBind()会破坏UpdateCommand?

时间:2013-02-15 12:17:14

标签: asp.net .net vb.net

我在页面中有一个DataGridView。配置DataSource(使用sql或Access)时,更新工作完美。但是,如果我为过滤器数据添加Combo,则在Page_Load我修改SelectCommand并执行DataBind()更新GridView。那就对了。单击“编辑”并修改某个字段,单击“更新”时,不修改表中的数据。


Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load<br>
    If RadioButtonList1.SelectedValue = "Todos" Then
        AccessDataSource1.SelectCommand = "SELECT `revisado`, `aprobado`, `Id`, `fecha`, `hora`, `empresa`, `tipo`, `legajo`, `desde`, `hasta`, `pasajero1`, `pasajero2`, `pasajero3`, `ccosto1`, `ccosto2`, `ccosto3`, `valor`, `indiv1`, `indiv2`, `indiv3`, `peaje`, `regreso`, `espera`, `czona`, `recorrido`,  `total`, `obs`, `comprobante`,  `exportado` FROM `viajes` WHERE `exportado`=False"
        DropDownList1.Visible = False
        DropDownList2.Visible = False
        Label1.Visible = False
    ElseIf RadioButtonList1.SelectedValue = "Choferes" Then<br>
        DropDownList1.Visible = True<br>
        DropDownList2.Visible = False<br>
        Label1.Visible = True<br>
        Label1.Text = "Seleccione un Chofer"<br>
        If DropDownList1.SelectedValue = Nothing Then<br>
            AccessDataSource1.SelectCommand = "SELECT `revisado`, `aprobado`, `Id`, `fecha`, `hora`, `empresa`, `tipo`, `legajo`, `desde`, `hasta`, `pasajero1`, `pasajero2`, `pasajero3`, `ccosto1`, `ccosto2`, `ccosto3`, `valor`, `indiv1`, `indiv2`, `indiv3`, `peaje`, `regreso`, `espera`, `czona`, `recorrido`,  `total`, `obs`, `comprobante`,  `exportado` FROM `viajes` WHERE `exportado`=False"<br>
        Else<br>
            AccessDataSource1.SelectCommand = "SELECT `revisado`, `aprobado`, `Id`, `fecha`, `hora`, `empresa`, `tipo`, `legajo`, `desde`, `hasta`, `pasajero1`, `pasajero2`, `pasajero3`, `ccosto1`, `ccosto2`, `ccosto3`, `valor`, `indiv1`, `indiv2`, `indiv3`, `peaje`, `regreso`, `espera`,  `czona`, `recorrido`, `total`, `obs`, `comprobante`,  `exportado` FROM `viajes` WHERE `exportado`=False AND `legajo`=" & DropDownList1.SelectedValue<br>
        End If<br>
    ElseIf RadioButtonList1.SelectedValue = "Empresas" Then<br>
        DropDownList1.Visible = False<br>
        DropDownList2.Visible = True<br>
        Label1.Visible = True<br>
        Label1.Text = "Seleccione una Empresa"<br>
        If DropDownList2.SelectedValue = Nothing Then<br>
            AccessDataSource1.SelectCommand = "SELECT `revisado`, `aprobado`, `Id`, `fecha`, `hora`, `empresa`, `tipo`, `legajo`, `desde`, `hasta`, `pasajero1`, `pasajero2`, `pasajero3`, `ccosto1`, `ccosto2`, `ccosto3`, `valor`, `indiv1`, `indiv2`, `indiv3`, `peaje`, `regreso`, `espera`, `czona`, `recorrido`,  `total`, `obs`, `comprobante`,  `exportado` FROM `viajes` WHERE `exportado`=False"<br>
        Else<br>
            AccessDataSource1.SelectCommand = "SELECT `revisado`, `aprobado`, `Id`, `fecha`, `hora`, `empresa`, `tipo`, `legajo`, `desde`, `hasta`, `pasajero1`, `pasajero2`, `pasajero3`, `ccosto1`, `ccosto2`, `ccosto3`, `valor`, `indiv1`, `indiv2`, `indiv3`, `peaje`, `regreso`, `espera`,  `czona`, `recorrido`, `total`, `obs`, `comprobante`,  `exportado` FROM `viajes` WHERE `exportado`=False AND `empresa`=" & DropDownList2.SelectedValue<br>
        End If<br>
    End If<br>
    'AccessDataSource1.UpdateCommand = "UPDATE `viajes` SET `revisado` = ?, `aprobado` = ?,`fecha` = ?, `hora` = ?, `empresa` = ?, `tipo` = ?, `legajo` = ?, `desde` = ?, `hasta` = ?, `pasajero1` = ?, `pasajero2` = ?, `pasajero3` = ?, `ccosto1` = ?, `ccosto2` = ?, `ccosto3` = ?, `valor` = ?, `indiv1` = ?, `indiv2` = ?, `indiv3` = ?, `peaje` = ?, `regreso` = ?, `espera` = ?, `czona` = ?,`recorrido` = ?,`total` = ?, `obs` = ?, `comprobante` = ?, `exportado` = ? WHERE `Id` = ?"<br>
    GridView1.DataBind()<br>

End Sub

0 个答案:

没有答案