il codice del tuto DataGrid? basta solo la parte interessata.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
158 messaggi dal 23 settembre 2005
Allora...
La colonna da cui io faccio partire il tutto è:
<asp:ButtonColumn ButtonType="LinkButton" Text="Elimina" CommandName="delete"></asp:ButtonColumn>

mentre la definizione del datagrid è questa:
<asp:datagrid id="dataGrid1" Width="80%" AutoGenerateColumns="False" Runat="server" OnDeleteCommand="deleteRecord" OnItemCreated="dG1" DataKeyField="IDArt">


com'è costruita la funzione deleteRecord l'ho già postato...
La funzione dG1 che ho trasformato è come quella postata da nostromo...

Io giuro che non so più dove sbattere la testa...

Grazie a entrambe per aiutarmi!!
Ciao
Adriana

Adry
_______________________________________________________

Lascia di quando in quando per me qualche sorriso, e ne avrò vita.
- W. Shakespeare -
spiegato l'arcano, non hai un bottone in un ItemTemplate ma ha una ButtonColumn quindi:

Private Sub DataGrid1_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) 
 If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then 
   Dim c As LinkButton = CType(ConversionHelpers.AsWorkaround(e.Item.Controls(0).Controls(0), GetType(LinkButton)), LinkButton) 
   If Not (c Is Nothing) Then 
     c.Attributes.Add("OnClick", "return confirm('Sei sicuro di voler cancellare?');") 
   End If 
 End If 
End Sub


sostituisci a Item.Controls(0).Controls(0) il codice
Item.Controls(index mia colonna).Controls(0)

ciao marco

p.s per mancaza di tempo ho tradotto im modo automatico il codice in Vb
Modificato da nostromo il 23 novembre 2005 18.42 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
p.s corretto il codice


Private Sub DataGrid1_ItemCreated(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
      If ((e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem)) Then
            Dim button1 As LinkButton = TryCast(e.Item.Controls.Item(0).Controls.Item(0),LinkButton)
            If (Not button1 Is Nothing) Then
                  button1.Attributes.Add("OnClick", "return confirm('Sei sicuro di voler cancellare?');")
            End If
      End If
End Sub

 

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
158 messaggi dal 23 settembre 2005
Innanzitutto ti ringrazio...
Ho provato ad inserire il codice che mi hai postato la seconda volta sostituendo il codice come mi hai fatto notare nel primo post, ma non mi riconosce la funzione TryCast... mi dice:
"Name 'TryCast' is not declared"

Grazie
Ciao
Adriana

ps: ho provato anche la prima soluzione che mi hai inviato, ma, come prima, non mi riconosce "ConversionHelpers" e mi presenta lo stesso errore di prima...
Modificato da adry_tssj il 24 novembre 2005 09.21 -

Adry
_______________________________________________________

Lascia di quando in quando per me qualche sorriso, e ne avrò vita.
- W. Shakespeare -
2.198 messaggi dal 30 novembre 2001
prova così allora:
Dim button1 As LinkButton = DirectCast(e.Item.Controls.Item(0).Controls.Item(0),LinkButton)
158 messaggi dal 23 settembre 2005
il DirectCast me lo accetta, ma sulla stessa riga mi dà quest'errore che non capisco:
"System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: index"

La mia riga è così:
Dim btn As LinkButton = DirectCast(e.Item.Controls.Item(1).Controls.Item(0),LinkButton)


il mio datagrid ha le seguenti colonne:
IDArt --> con visible = false e ReadOnly = True
Articolo
Qta
ButtonColumn per l'elimina
HyperLinkColumn per la modifica(in un'altra pagina)

Adesso che sbaglio??
Scusate e grazie

Adry
_______________________________________________________

Lascia di quando in quando per me qualche sorriso, e ne avrò vita.
- W. Shakespeare -
2.198 messaggi dal 30 novembre 2001
allora:
Dim btn As LinkButton = DirectCast(e.Item.FindControl("TuoBtn"), LinkButton)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.