asp.net 0 Denunciar post Postado Maio 16, 2005 Tenho o datagrid abaixo. <asp:DataGrid DataKeyField="codigo" BorderColor="#333333" CellPadding="2" AutoGenerateColumns="false" OnPageIndexChanged="dt_selecionado" OnDeleteCommand="dt_apagar" OnEditCommand="dt_editar" OnCancelCommand="dt_cancelar" OnUpdateCommand="dt_atualizar" HeaderStyle-BackColor="#666666" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="#D4D4D4" AlternatingItemStyle-BackColor="#CCCCCC" Font-Names="Verdana, Tahoma, Arial" Font-Size="10" GridLines="vertical" ID="Dt_resultado" runat="server" ShowFooter="false" ShowHeader="true" Width="500"> <columns> <asp:BoundColumn DataField="Nome" HeaderText="Nome"></asp:BoundColumn> <asp:BoundColumn DataField="Sobrenome" HeaderText="Sobrenome"></asp:BoundColumn> <asp:BoundColumn DataField="ddd_fone" HeaderText="DDD"></asp:BoundColumn> <asp:BoundColumn DataField="fone" HeaderText="Telefone"></asp:BoundColumn> <asp:BoundColumn DataField="celular" HeaderText="Celular"></asp:BoundColumn> <asp:EditCommandColumn EditText="Editar" CancelText="Cancelar" UpdateText="Ok" HeaderText="Editar"></asp:EditCommandColumn> <asp:buttonColumn HeaderText="Apagar" Text="X" CommandName="Delete"></asp:buttonColumn> </columns> </asp:DataGrid> Quando clico para editar o registro, ele me abre o textbox para inserir o novo valor, através da sub abaixo Sub dt_editar(obj as Object, e as DataGridCommandEventArgs) dt_resultado.EditItemIndex = e.item.ItemIndex dt_resultado.DataBind() end sub ai ele me habilita os botões de atualizar o cancelar, quando eu clico no botão de atualizar tenho que pegar o valor novo digitado, mas como faço isto? A função de atualização está assim: Sub dt_atualizar(Obj as Object, e as DataGridCommandEventArgs) Dim novonome, novosobrenome, novoddd, novotelefone, novocelular as textbox Dim indice as Integer indice=dt_resultado.DataKeys.item(Cint(e.item.itemindex)) novonome = e.item.cells(1).controls(0) atualizando.text=novonome.text Dim sql_atualiza as String ="Update cliente Set nome='"& novonome.text &"' where codigo= "& indice.ToString executa_sql(sql_atualiza) dt_resultado.EditItemIndex=-1 carrega_cliente_adm() end sub Compartilhar este post Link para o post Compartilhar em outros sites
Rafael.Jesus 0 Denunciar post Postado Maio 16, 2005 Olá Tudo Bem? Estou colocando os codigos abaixo:***Este seria colocado no Html<EditItemTemplate><asp:ImageButton id="Imagebutton3" imageurl="../images/Altera.gif" RUNAT="server" FORECOLOR="#000066"CommandName="Update"></asp:ImageButton><asp:ImageButton id="Imagebutton4" imageurl="../images/icoDeletar.gif" RUNAT="server" FORECOLOR="#000066"CommandName="Cancel"></asp:ImageButton></EditItemTemplate>********Editar Rows**********Private Sub dgR_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgR.EditCommand dgR.EditItemIndex = e.Item.ItemIndex dgR.DataSource = ds ou dr 'Aqui passa o nome do seu dataset/datareader dgR.DataBind()End Sub********Atualizar*********Private Sub dgR_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgR.UpdateCommand viewstate("scdr") = SF.PDS("dsx").Tables(0).Rows(0)("CDR") viewstate("snome") = DirectCast(e.Item.Cells(2).Controls(0), TextBox).Text 'e.Item.Cells(2).Text viewstate("scde") = DirectCast(e.Item.Cells(1).Controls(0), TextBox).Text viewstate("lstNTag") = DirectCast(e.Item.Cells(2).Controls(0), TextBox).Text viewstate("lstETag") = DirectCast(e.Item.Cells(1).Controls(0), TextBox).Text CriaLista() dgR.EditItemIndex = -1 dgR.DataSource = SF.PDV("dvX") dgR.DataBind() End Sub********Colocar TextBox**********Private Sub dgR_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgR.ItemDataBound If e.Item.ItemType = ListItemType.EditItem Then e.Item.Cells(0).Controls(0).Visible = False e.Item.Cells(3).Text = DirectCast(e.Item.Cells(3).Controls(0), TextBox).Text e.Item.Cells(4).Text = DirectCast(e.Item.Cells(4).Controls(0), TextBox).Text CType(e.Item.Cells(1).Controls(0), TextBox).Width = Unit.Pixel(25) CType(e.Item.Cells(2).Controls(0), TextBox).Width = Unit.Percentage(100) End IfEnd Sub**************Espero poder ter ajudado! Compartilhar este post Link para o post Compartilhar em outros sites