Bueno.. para empezar dentro de tu datalist debes tener algo como esto para cuado edites.
Cita: <asp:datalist id="DataList1" runat="server"...
....
...
..
<EditItemTemplate>
Algun Texto<asp:TextBox Text='<%# Container.DataItem("campo1") %>' ID="
txt1 " runat=server /><br>
Otro Text<asp:TextBox Text='<%# Container.DataItem("campo2") %>' ID="
txt2 " runat=server /><br>
<asp:LinkButton
CommandName="Cancel" runat="server">Cancel</asp:LinkButton>
<asp:LinkButton
CommandName="Update" Runat="server">Actualizar</asp:LinkButton>
</EditItemTemplate>
</datalist>
con ello ya indicaste que cuando editen los datos se carguen en dos textbox con un linkbutton que es para cancelar y otro para hacer la actualzacion...
En cuanto al código podría quedar algo como esto:
Cita: Private Sub DataList1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs ) Handles DataList1.CancelCommand
BindDataList(-1)
End Sub
Private Sub DataList1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs ) Handles DataList1.UpdateCommand
Dim txt1 As String = CType(e.Item.FindControl("txt1"), TextBox).Text
Dim txt2 As String = CType(e.Item.FindControl("txt2"), TextBox).Text
Dim strUpdate As String
strUpdate = "update Tabla set campo1='" & txt1 & "'" & _
", campo2='" & txt2 & "'
'codigo para insertar los valores
...
...
BindDataList(-1)
End Sub
Donde
BindDataList() va a ser un procedimiento para llenar mi datalist al hacer cualquier tipo de cambio.. y sería algo como ésto:
Cita: Private Sub BindDataList(ByVal dtIndex As Integer)
DataList1.EditItemIndex = dtIndex
DataList1.DataSource = 'aqui pongo el reader o el dataset que previamente ya llene...
DataList1.DataBind()
End Sub
Espero que te sirva éste ejemplo.. a mi parecer lo considero bastante claro.
Saludos