teckV Posted May 22, 2006 at 04:19 PM Report Share #28896 Posted May 22, 2006 at 04:19 PM se quiserem listar os conteudos de uma tabela numa grid e quiserem que a grid tenha mais duas colunas com funcionalidades extra, tipo, eliminar registo e ver detalhe código HTML para a DataGrid <asp:datagrid id="datGridDumps" style="Z-INDEX: 102; LEFT: 33px; POSITION: absolute; TOP: 135px" runat="server" Font-Names="Verdana" Width="853px" OnDeleteCommand="datGridDumps_DeleteCommand" DataKeyField="dumpID" Height="25px" BorderColor="Black" BorderStyle="Solid"> <Columns> <asp:ButtonColumn Text="Eliminar" CommandName="Delete"></asp:ButtonColumn> <asp:HyperLinkColumn Text="Relatorio" Target="_blank" DataNavigateUrlField="dumpID" DataNavigateUrlFormatString=" ../server?/AD/ad_prop&dumpID={0}"> </asp:HyperLinkColumn> </Columns> </asp:datagrid> aqui saliento esta propriedade: "DataKeyField" que vai indicar qual o campo na tabela que server de indice ao registo, neste caso o dumpID DataKeyField="dumpID" e é aqui que se definem os eventos associados a essa coluna... elas são links... quando se clica nesse link é disparado o evento associado OnDeleteCommand="datGridDumps_DeleteCommand" neste caso quando clicarem na coluna associada ao delete, este evento é lançado a parte referente às colunas.. no caso do delete é a propriedade "CommandName" que vai indicar que é a coluna para delete e associa ao evento delete <Columns> <asp:ButtonColumn Text="Eliminar" CommandName="Delete"></asp:ButtonColumn> <asp:HyperLinkColumn Text="Relatorio" Target="_blank" DataNavigateUrlField="dumpID" DataNavigateUrlFormatString=".. /server?/AD/ad_prop&dumpID={0}"> </asp:HyperLinkColumn> </Columns> assim... quando clicarem no link que têm o texto "Eliminar" (defenido na propriedade Text="Eliminar") é executado o código neste evento codigo no evento... no evento precisamos saber qual o registo selecionado... para tal usamos o tal DataKeyField="dumpID" que é o campo na tabela com o indice do registo... para receber o valor do registo selecionado na grid usa-se: intDumpID = datGridDumps.DataKeys(CInt(e.Item.ItemIndex)) Public Sub datGridDumps_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles datGridDumps.DeleteCommand Try Dim strCon = ConfigurationSettings.AppSettings("conString") Dim MyCon = New SqlConnection(strCon) MyCon.Open() Dim intDumpID As Int32 intDumpID = datGridDumps.DataKeys(CInt(e.Item.ItemIndex)) Dim MyCommand As SqlCommand = New SqlCommand MyCommand.Connection = MyCon MyCommand.CommandText = "DELETE FROM ad_accounts WHERE(dumpID = " & intDumpID & ")" Call MyCommand.ExecuteNonQuery() MyCommand.CommandText = "DELETE FROM ad_dumps WHERE (dumpID = " & intDumpID & ")" Call MyCommand.ExecuteNonQuery() boundControls() MyCommand = Nothing MyCon.close() Catch Ex As Exception deb.WriteLine("erro = " & Ex.Message) lblMSG.Text = "Ocorreu um erro na introdução dos dados!! Verifique os dados a introduzir" End Try End Sub explorem melhor... apenas quero dar uma ideia das potencialidades... teckV house of horus Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now