Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320
    penso di aver trovato il metodo più pulito e professionale in assoluto.
    Nella procedura dove viene bindato il datagrid associo la soegente dati e faccio il binding.

    Poi creo un'altra procedura e la eseguo all'evento datagrid.itemdatabound.
    Da per ogni riga controllo i valori del dataset, (o datatable) e in base a delle condizioni aggiungo (o setto) in modo opportuno le checkbox o quant'altro.

    Confermate che sia il metodo più giusto??

  2. #12
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    Originariamente inviato da Vailfox
    penso di aver trovato il metodo più pulito e professionale in assoluto.
    Nella procedura dove viene bindato il datagrid associo la soegente dati e faccio il binding.

    Poi creo un'altra procedura e la eseguo all'evento datagrid.itemdatabound.
    Da per ogni riga controllo i valori del dataset, (o datatable) e in base a delle condizioni aggiungo (o setto) in modo opportuno le checkbox o quant'altro.

    Confermate che sia il metodo più giusto??
    si valido
    in effetti seservonomettere delle IF allora nell'itemdatabound controllare che tutto va bene
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  3. #13
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320
    Kamh, ti mando la classe completa di una pagina aspx che gestisce un datagrid l'elenco degli utenti iscritti ad un ecommerce + la colonna delle checkbox per abilitare o meno tali utenti.

    codice:
    Imports System.Data.Odbc
    
    Public Class adm_abilitazione_professionisti_area_clienti
        Inherits Page
    
        Protected WithEvents dg_abilitati As DataGrid
        Protected WithEvents lb_aggiorna As LinkButton
        Protected txb_avviso As Label
    
        Private conn As New connessione_db
        Private adp As Odbc.OdbcDataAdapter
    
    
            If Me.IsPostBack = False Then
                txb_avviso.Visible = False
            End If
        End Sub
    
    
        Protected Sub Popola_dg_abilitati() Handles dg_abilitati.Init
            Dim dt As New DataTable
            conn.query = "Select * from utenti_registrati where idsite='" & Session("idsite") & "' and azienda<>''"
            adp = conn.getDataAdapter
            adp.Fill(dt)
            dg_abilitati.DataSource = dt
            dg_abilitati.DataKeyField = "id"
            dg_abilitati.DataBind()
        End Sub
    
    
        Protected Sub Aggiorna_Dati() Handles lb_aggiorna.Click
            Dim dt As DataTable = dg_abilitati.DataSource
            For Each row As DataGridItem In dg_abilitati.Items
                If row.ItemType = ListItemType.AlternatingItem Or row.ItemType = ListItemType.Item Then
                    Dim ckb As CheckBox = row.Cells(5).FindControl("ckb_abilitato")
                    If ckb.Checked = True Then
                        dt.Rows(row.ItemIndex)("abilitato") = "1"
                    Else
                        dt.Rows(row.ItemIndex)("abilitato") = "0"
                    End If
                End If
            Next
            adp.Update(dt)
            txb_avviso.CssClass = "avviso_ok"
            txb_avviso.Text = "Abilitazioni aggiornate correttamente"
            txb_avviso.Visible = True
        End Sub
    
    
        Protected Sub Dg_abilitati_DataBound(ByVal sender As DataGrid, ByVal e As DataGridItemEventArgs) Handles dg_abilitati.ItemDataBound
            Dim dt As DataTable = sender.DataSource
            If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
                Dim ckb As CheckBox = e.Item.Cells(5).FindControl("ckb_abilitato")
                If dt.Rows(e.Item.ItemIndex)("abilitato") = "1" Then
                    ckb.Checked = True
                Else
                    ckb.Checked = False
                End If
            End If
        End Sub
    
    
    End Class

    il metodo della classe connessione_db.getDataAdapter mi restituisce un DataAdapter già configurato con la query di Select appropriata. In oltre, i comandi update, delete e insert sono automaticamente generati da ODbcCommandBuilder (sempre all'interno del metodo connessione_db.getDataBuilder).

    Come reputi la gestione di tale codice?? migliorie?? modi di operare sbagliati??
    Te lo chiedo perchè il codice funziona, ma vorrei sapere se anche in questo caso il modo di operare è professionale o meno.

  4. #14
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    il codice cosi com è va bene

    ma se aggiungi deitry e catch
    e delle transazioni
    e dei parameters nelle query


    ...potrebbe
    diventare ottimo e piu stabile
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  5. #15
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320
    try e catch li conosco, transazioni e query parameter no. Che sono?? a che servono??

  6. #16
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    Originariamente inviato da Vailfox
    try e catch li conosco, transazioni e query parameter no. Che sono?? a che servono??
    quanto dura la sessione?
    sei proprio sicuro che azienda<>'' a volte non sia NULL?

    potrebbe darti noia appena la sessione finisce e cerca di eseguire l'sql
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  7. #17
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320
    No il campo azienda non può essere null perchè è settato come obbligatorio (tramite il requirefieldvalidator) nel momento in cui l'utente si registra.

    La sessione dura parecchio forse 9999 minuti.. bho. non ricordo... se scade la sessione vengo reinviato alla pagina di login.

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.