Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Checkbox in datagrid

  1. #1

    Checkbox in datagrid

    Salve a tutti,
    ho aggiunto con successo un checkbox ad un datagrid con successo, il valore del campo associato viene visualizzato correttamente.
    Ora dovrei fare in modo che il valore della riga e del campo associato al checkbox venisse aggiornato direttamente, come fare?

  2. #2

  3. #3
    a dire il vero non ho capito bene...
    come aggiungi il check?
    cosa significa "Ora dovrei fare in modo che il valore della riga e del campo associato al checkbox venisse aggiornato direttamente" ?
    "...non è detto che sia tardi se non guardi che ora è..."

  4. #4
    Dunque io aggiungo la colonna contente il check box nel datagrid tramite questo template

    <asp:TemplateColumn HeaderText="Completata">
    <ItemTemplate>
    <asp:Checkbox runat="server" autopostback="true" enabled="true" Checked='<%# Container.DataItem("stato") %>' oncheckedchange="" ID="Checkbox1" />
    </ItemTemplate>
    </asp:TemplateColumn>

    Tale colonna mi indica lo stato del record visaualizzato.
    Ora io vorrei poter cambiare lo stato direttamente dal datagrid checkando o de-checkando il checkbox della riga che mi interessa modificare.
    Quel che chiedo è, come?

  5. #5
    prova una cosa del genere (supponendo che nel tuo db ci sia una colonna "id" come chiave primaria)

    codice:
    <asp:TemplateColumn HeaderText="Completata">
    	<ItemTemplate>
    		<asp:Checkbox runat="server" enabled="true" AutoPostBack="true" Checked='<%# Container.DataItem("stato") %>' Text='<%# Container.DataItem("id") %>' OnCheckedChanged="check_Click" ID="Checkbox1" />
    	</ItemTemplate>
    </asp:TemplateColumn>
    e la sub

    codice:
    sub check_Click(s as Object, e as EventArgs)
    	Dim conn as OleDbConnection
    	Dim cmd as OleDbCommand
    	Dim intId As integer
    	intid = CInt( s.Text )
    	Dim sql as string = "update nomeTabella set stato='"& s.Checked &"' where id ="& intId &""
    	conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DATA Source="& server.MapPath("db/nomeDb.mdb"))
    	cmd = New OleDbCommand( sql, conn )
    	conn.open()
    	cmd.ExecuteNonQuery()
    	conn.close()
    	nomeSubPerCreareIlDatagrid
    end sub
    "...non è detto che sia tardi se non guardi che ora è..."

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 © 2026 vBulletin Solutions, Inc. All rights reserved.