Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-09-2007, 08:59   #1
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
[c#] .NET GridView help

ciao a tutti, io ho riempito un GridView con una query select. Solo che volevo metterci come prima colonna un button delete, e fare in modo che se viene premuto mi elimini la riga... come posso fare?
__________________
My_Site|| My Work CPU || MY I MOD
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2007, 11:35   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Pro7on Guarda i messaggi
ciao a tutti, io ho riempito un GridView con una query select. Solo che volevo metterci come prima colonna un button delete, e fare in modo che se viene premuto mi elimini la riga... come posso fare?
La tua griglia è predisegnata oppure viene disegnata a run time in base ai record che recuperi?

In questo secondo caso non ti conviene utilizzare un bottone come prima colonna, altrimenti se recuperi 100 record avrai 100 bottoni da gestire

Per creare comandi che si interfacciano comodamente con la griglia, piazza sul tuo form un binding navigator. Già di base porta un set di command button (ma che puoi sempre eliminare e aggiungere i tuoi) e poi gestire la "delete" nel modo seguente:

Codice:
private void Button_Click(object Sender, EventArgs e)
{
    try
    {
       string cancella = "DELETE FROM tua tabella WHERE campoTabella = '" + tuaGriglia.Rows[numero_riga].Cells[numero_cella].Value + "';

       SqlCommand delete = new SqlCommand(cancella, tua_connessione);
       delete.ExecuteNonQuery();
    //codice per la gestione della chiusura della connessione
    }
    catch(SqlException ex) {//gestisci l'eccezione}
}
Altrimenti, se la griglia ha una sola riga (nel qual caso non ti serve una griglia )

Codice:
DataGridViewButtonColumn myButton = new DataGriViewButtonColumn();
myButton.Name = "Cancella";
tuaGriglia.Columns.Add(myButton);
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2007, 12:53   #3
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
La tua griglia è predisegnata oppure viene disegnata a run time in base ai record che recuperi?

In questo secondo caso non ti conviene utilizzare un bottone come prima

Codice:
DataGridViewButtonColumn myButton = new DataGriViewButtonColumn();
myButton.Name = "Cancella";
tuaGriglia.Columns.Add(myButton);


nn ho capito molto bene un acosa:

1: consigli di mettere bottoni o link nella prima colonna?
2: quando chiede numeroColonna e numeroCella come si fanno a sapere e cosa sarebbe numero cella?

Thx
__________________
My_Site|| My Work CPU || MY I MOD
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2007, 13:53   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Pro7on Guarda i messaggi
nn ho capito molto bene un acosa:

1: consigli di mettere bottoni o link nella prima colonna?
Beh, sono 2 cose diverse. Ad esempio:

Partendo dal presupposto che un evento da associare ad un bottone è molto diverso da un evento da associare al click su un link:

Se la tabella dalla quale recuperi i record, è predisposta a contenerne molti, non ti conviene mettere dei bottoni all'interno della griglia, per il motivo che ti ho già esposto (almeno io non li metterei).

Avere una colonna in forma di "link", mi può essere utile se il campo che recupero è un sito web oppure un indirizzo di email.

Quote:
2: quando chiede numeroColonna e numeroCella come si fanno a sapere e cosa sarebbe numero cella?
Non indicavo numero colonna, ma numero riga

Puoi ottenerle in diversi modi, per esempio attraverso la proprietà "Index" del DataGridView oppure mediante la proprietà RowCount.

Per poter cancellare qualcosa con precisione ovviamente nel comando sql devi essere tu a dare le condizioni necessarie e sapere in quale "cella" della griglia si trova il dato che devi confrontare. Ad esempio, se tu hai una tabella del db composta da due campi:

ID e Cognome

In ID ho dei valori: 1 - 2 - 5
e in Cognome ho: Pippo, Paperino, Pluto

se recupero i dati su una griglia, avrò una griglia composta da due colonne:

Colonna "ID" e Colonna "Cognome"

E avrò verosimilmente 3 righe con due celle:

riga0 -> CellaNumero0(contiene:1), CellaNumero1(contiene:Pippo)
riga1 -> CellaNumero0(contiene:2), CellaNumero1(contiene:Paperino)
riga2 -> CellaNumero0(contiene:5), CellaNumero1(contiene:Pluto)

Quindi, come vedi, l'unica cosa che varia è il numero della riga, nel senso che in cella_numero_0 e in cella_numero_1, avrai sempre l'ID ed il Cognome a prescindere dal numero di riga, quindi, la tua query potrebbe somigliare a questa:

Codice:
/*questa ti cancella il dato dal db dove 
il nomeCampo della tabella è uguale 
al valore contenuto nella cella numero zero 
della riga corrente sulla griglia*/
string sql = "DELETE FROM tuaTabella WHERE nomeCampo = '" + tuaGriglia.CurrentRow.Cells[0].Value + "'; 

//oppure

/*qui scorre tutte le righe ed eliminerà tutti i record 
dal db nei quali il valore contenuto nella cella numero zero, 
per ciascuna riga, è uguale a quello del campo della tabella*/


for(int i = 0; i < tuaGriglia.RowCount; i++)

sql = "DELETE from tuaTabella WHERE nomeCampo = '" + tuaGriglia.Rows[i].Cells[0].Value;
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek

Ultima modifica di RaouL_BennetH : 25-09-2007 alle 13:56.
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2007, 14:44   #5
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Beh, sono 2 cose diverse. Ad esempio:

Partendo dal presupposto che un evento da associare ad un bottone è molto diverso da un evento da associare al click su un link:

Se la tabella dalla quale recuperi i record, è predisposta a contenerne molti, non ti conviene mettere dei bottoni all'interno della griglia, per il m.............


for(int i = 0; i < tuaGriglia.RowCount; i++)

sql = "DELETE from tuaTabella WHERE nomeCampo = '" + tuaGriglia.Rows[i].Cells[0].Value;
[/code]

per contenere ne deve tenere molte di righe.
__________________
My_Site|| My Work CPU || MY I MOD
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2007, 16:29   #6
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Pro7on Guarda i messaggi
per contenere ne deve tenere molte di righe.
Ok, ma il numero di righe altro non sarà che il numero dei record che prenderà dalla tua tabella. A meno di non prefissare tu il numero di righe, ma che poi ti darà rogne infinite se leghi la griglia ad una sorgente dati.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 26-09-2007, 07:09   #7
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Ok, ma il numero di righe altro non sarà che il numero dei record che prenderà dalla tua tabella. A meno di non prefissare tu il numero di righe, ma che poi ti darà rogne infinite se leghi la griglia ad una sorgente dati.
e infatti io prendo i dati da un db, ma nn dichiaro il num di righe
__________________
My_Site|| My Work CPU || MY I MOD
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 26-09-2007, 07:55   #8
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
leggendo questa pagina:

http://msdn2.microsoft.com/it-it/lib...nd(VS.80).aspx

ho provato a farlo ma mi da sempre questo errore quando premo il btn...

che errore e?

Codice:
Server Error in '/pro???Application.
--------------------------------------------------------------------------------

The GridView 'GridView1' fired event RowEditing which wasn't handled. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: The GridView 'GridView1' fired event RowEditing which wasn't handled.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[HttpException (0x80004005): The GridView 'GridView1' fired event RowEditing which wasn't handled.]
   System.Web.UI.WebControls.GridView.OnRowEditing(GridViewEditEventArgs e) +324
   System.Web.UI.WebControls.GridView.HandleEdit(Int32 rowIndex) +60
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +705
   System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +213
   System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +242
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3839
__________________
My_Site|| My Work CPU || MY I MOD
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 26-09-2007, 11:27   #9
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
risolto thx
__________________
My_Site|| My Work CPU || MY I MOD
Pro7on è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
E-bike Engwe esagerate: con le offerte d...
Stop alla tassa sui pacchi low-cost: ecc...
Nuovi occhiali AI Ray-Ban Meta: focus su...
Nuovi memristori in ossido di afnio: Cam...
Attacco hacker a ITA Airways: cosa risch...
Le migliori 27 offerte Amazon, per categ...
Windows 11, Microsoft blocca l'update KB...
Guerra sui codec video: Dolby contro Sna...
Monitor gaming in offerta Amazon: da 99€...
Sony blocca le schede di memoria in Giap...
Lavatrice, asciugatrice e frigorifero: i...
Lamborghini e Moza insieme: la replica d...
Cupra aggiorna la Tavascan: nuova versio...
Commissione Europea sotto attacco: sottr...
L'AI ricostruisce le regole di un gioco ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v