Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Messaggio di conferma DataGrid

    ciao,
    io ho inserito nel mio Page_Load questo:
    Page.RegisterOnSubmitStatement("NextButtonConfirm" , "return confirm('Sei sicuro di eliminare la notizia?');")

    però mi sono ritrovato a mettere nella stessa pagina anche un piccolo form d'inserimento. Perciò accade che quando spingo il pulsante di questo form, mi appare questo messaggio di conferma.

    Come posso associarlo solo al pulsante delete del DataGrid?

    ciao

  2. #2
    Ciao, volevo chiederti na cosa: siccome anchio sto provando ad associare al comando delete del grid il msgbox


    <asp:ButtonColumn Text="Delete" CommandName="Delete">
    <ItemStyle font-size="Smaller" width="10%"></ItemStyle>
    </asp:ButtonColumn>


    Ho trovato questa roba

    Public Class confirmAlert
    Inherits System.Web.UI.Page
    Protected WithEvents btnDelete As System.Web.UI.WebControls.Button

    #Region " Codice generato da Progettazione Web Form "

    'Chiamata richiesta da Progettazione Web Form.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
    'CODEGEN: questa chiamata al metodo richiesta da Progettazione Web Form.
    'Non modificarla nell'editor del codice.
    InitializeComponent()
    End Sub

    #End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' registriamo un blocco di codice JavaScript sul client, in maniera tale da
    ' poter essere eseguito quando l'utente clicka sul bottone
    If Not Page.IsClientScriptBlockRegistered("doConfirm") Then
    Dim buffScriptString As String
    buffScriptString = "<script language=""javascript"">" + vbCrLf + _
    "<!-- " + vbCrLf + _
    "function __doConfirm(btnWaiter) { " + vbCrLf + _
    "if (confirm(""Confermi l'eliminazione del record??"")) { " + vbCrLf + _
    " return true; " + vbCrLf + _
    "} return false; } " + vbCrLf + _
    "--> " + vbCrLf + _
    "</script>"

    Page.RegisterClientScriptBlock("doConfirm", buffScriptString)
    End If

    ' aggiungiamo la chiamata alla nostra funzione client, nell'attributo onClick
    ' dell'html generato dal button
    btnDelete.Attributes("onclick") = "return __doConfirm(this);"
    End Sub

    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
    Dim deleted As Boolean
    ' supponiamo di aver implementato il codice che elimina il record...
    ' ...
    ' ...
    deleted = True
    ' ...

    ' ... e adesso diamo conferma all'utente dell'avvenuta cancellazione,
    ' con un messaggio di tipo "MessageBox"
    If (deleted) Then
    Response.Write("<font color='red'>Ho eseguito il pezzo di codice server per eliminare il record...</font>")
    showClientMessageBox("Il record stato eliminato.")
    Else
    showClientMessageBox("Attenzione! Si verificato un errore durante la cancellazione.")
    End If
    End Sub

    Private Sub showClientMessageBox(ByVal message As String)
    If Not (Page.IsStartupScriptRegistered("doMessage")) Then
    Dim buffScriptString As String
    buffScriptString = "<script language=""javascript"">" + vbCrLf + _
    "<!-- " + vbCrLf + _
    "alert(""" + message + """); " + vbCrLf + _
    "--> " + vbCrLf + _
    "</script>"

    Page.RegisterStartupScript("doMessage", buffScriptString)
    End If
    End Sub
    End Class





    che è un codebehid fatto proprio per far venir fuori l'msgbox, ma collegato ad un bottone al di fuori del grid. Nn ho ancra provato questa roba, e volevo chiederti se l'approccio è giusto o meno. GRAZIE

  3. #3
    scusate l'intro

    xche non provate a fare quest sull'evento ItemCreated del datarid

    Private Sub MyGrid_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles MyGrid.ItemCreated
    Select Case e.Item.ItemType
    Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
    Dim myTableCell As TableCell
    myTableCell = e.Item.Cells(0)
    Dim myCancellaBot As LinkButton
    myCancellaBot = myTableCell.Controls(0)
    myCancellaBot.Attributes.Add("onclick", "return confirm('Sei sicuro di voler eliminare questo record?');")
    End Select
    End Sub

    ciao

  4. #4
    senza che fai tutto quel casino, per associare il messaggio di conferma nel datagrid basta che metti questa riga nel page_load

    Page.RegisterOnSubmitStatement("NextButtonConfirm" , "return confirm('Sei sicuro di eliminare la notizia?');")


    però a me serve solo associarla al pulsante del datagrid e non all'altri pulsanti presenti nella pagina.

  5. #5
    Originariamente inviato da rafpas
    scusate l'intro

    xche non provate a fare quest sull'evento ItemCreated del datarid

    Private Sub MyGrid_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles MyGrid.ItemCreated
    Select Case e.Item.ItemType
    Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
    Dim myTableCell As TableCell
    myTableCell = e.Item.Cells(0)
    Dim myCancellaBot As LinkButton
    myCancellaBot = myTableCell.Controls(0)
    myCancellaBot.Attributes.Add("onclick", "return confirm('Sei sicuro di voler eliminare questo record?');")
    End Select
    End Sub

    ciao

    senti ricevo questo errore:
    Argomento specificato non compreso nell'intervallo. Nome parametro: index

    e mi segnala questa riga:
    myCancellaBot = myTableCell.Controls(0)

  6. #6
    ho provato come hai detto

    cosi non funziona

    ciao

  7. #7
    io ho associato questo evento di cancellazione con l'evento itemcreate dove c'è tutto quel casino e funziona

    Private Sub MyGrid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles MyGrid.DeleteCommand
    bene.Visible = False
    Dim NewsID As Integer
    NewsID = MyGrid.DataKeys(CInt(e.Item.ItemIndex))

    Dim strSQL As String = "DELETE from News where ID_News =" & NewsID
    Dim Cmd As New OleDbCommand(strSQL, Conn)
    Conn.Open()
    Try
    Cmd.ExecuteNonQuery()
    bene.Visible = True
    bene.Text = "Record cancellato
    "
    Catch Exc As Exception
    bene.Visible = True
    bene.Text = "ERROR: Non puoi cancellare questo record
    "
    bene.Style("color") = "red"
    End Try
    Conn.Close()
    BindGrid()
    End Sub

    ciao

  8. #8
    Originariamente inviato da rafpas
    ho provato come hai detto

    cosi non funziona

    ciao
    dici a me? Io nel mio codebehind metto questa riga nel page_load
    Page.RegisterOnSubmitStatement("NextButtonConfirm" , "return confirm('Sei sicuro di eliminare la notizia?');")

    e ogni volta che premo il pulsante Delete mi esce fuori la mascherina id conferma.

    <asp:ButtonColumn Text="Cancella" ButtonType="PushButton" HeaderText="Delete?" CommandName="delete"></asp:ButtonColumn>


    che mi dici del tuo codice?

  9. #9
    io lo messo cosi e funziona
    <asp:ButtonColumn Text="Elimina" HeaderImageUrl="../../images/cancella.gif" HeaderText="Elimina" CommandName="Delete">
    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
    <ItemStyle Font-Italic="True" Font-Bold="True" HorizontalAlign="Center"></ItemStyle>
    </asp:ButtonColumn>

  10. #10
    facciamo le stesse cose ma c'è qualcosa che non va sulla funzione che mi hai passato:

    il datagrid è cosi configurato:
    <asp:ButtonColumn Text="Cancella" HeaderText="Delete?" CommandName="delete"></asp:ButtonColumn>

    <ASPATAGRID id="MyDataGrid" runat="server" DataKeyField="id" OnDeleteCommand="MyDataGrid_Delete"

    codice:
    Sub MyDataGrid_Delete(ByVal Sender As Object, ByVal E As DataGridCommandEventArgs)
    
            Dim objCmd As New OleDbCommand(Query("DELETE FROM Altezza WHERE id=", MyDataGrid.DataKeys(E.Item.ItemIndex)), objConn)
    
            Try
                objConn.Open()
                objCmd.ExecuteNonQuery()
                lblMessage.Text = "CANCELLATO"
            Catch ex As Exception
                lblMessage.Text = ex.Message
            End Try
            objConn.Close()
    
            binddata()
        End Sub
    però io continuo ad avere problemi su questa riga:
    myCancellaBot = myTableCell.Controls(0)

    a cosa fa riferimento? a qualche posizione?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.