Collegare Pulsanti a Dati di un Database

domenica 24 febbraio 2008 - 13.59

attilio Profilo | Junior Member

Salve a tutti sto cercando di realizzare un'applicazione collegata ad un database.
La mia esigenza è quella di poter leggere i dati presenti nel db di una determinata tabella e riportarne un campo su di un pulsante questo per ogni articolo ovviamente e associare poi un'altro campo della tabella sempre allo stesso pulsante.
Nello specifico sul pulsante dovrebbe apparire il nome della cella 1 e associarne il valore della cella x.
In oltre non sapendo quanti sono i record del db devono poter essere creati i pulsanti in modo dinamico a seconda della quantità di record nel database.
Non so se utilizzare Button o DatagridView con modo Button per le celle che mi interessano.
In realtà la soluzione della datagrid view era la migliore ma il problema è che non si estende su più colonne e non riesco nemmeno a estendere le colonne in modo orizzontale.
Spero possiate darmi qualche consiglio.
Grazie

Ferux Profilo | Newbie

Ciao
per la creazione dinamica dei pulsanti in una WinForm puoi fare cosi:

//Istanzi un oggetto di tipo Button
Button btn = new Button();
//.........valorizzi altre proprietà di tuo interesse ciclando nel ds
btn.Text = "prova";
//se lo vuoi aggiungere al form direttamente usi questa istruzione
this.Controls.Add(btn);
//altrimenti se hai un pannello Panel1.Controls.Add()...e così via
//se vuoi avere un layout ordinato utilizza una tabella o un pannello

Saluti
Ing Ferux
[MCP MCAD]

attilio Profilo | Junior Member

Si effettivamente viene tutto molto piu ordinato in questo modo.
ma per riuscire ad associare i pulsanti ai campi del database come posso fare?

Ferux Profilo | Newbie

Ciao,
potresti settare la proprietà del pulsante

Button.Name = NomeColonna

Saluti
Ing Ferux
[MCP MCAD]

attilio Profilo | Junior Member

Settando button.name = nome colonna come farei a fare una query che si colleghi al database dandomi il nome del campo scelto?e che poi si colleghi alle altre celle di quel campo per restituirne i vari valori?
Scusate probabilmente la soluzione è vicina ma non riesco con le varie prove a raggiungerla :-)

Ferux Profilo | Newbie

Ciao,
pensavo che potevi fare così:

SELECT Button1.Text,Button2.Text,.... FROM Button1.Name oppure Panel1.Name

Basta che in ogni pannello inserisci campi che provengono dalla stessa tabella

Saluti
Ing Ferux
[MCP MCAD]

attilio Profilo | Junior Member

Questo proprio non lo riesco a capire...cosa intendevi?
Io ora possiedo una griglia con dei semplici pulsanti.Vorrei che questi pulsanti rappresentassero i record del mio db.e che quindi ne contengano i valori delle celle.Tipo il nome il codice ecc.

Ferux Profilo | Newbie

Ciao,
supponiamo che hai una tabella Libro [Codice,Titolo,Autore], tu vuoi avere una griglia di pulsanti:

SELECT Codice, Titolo,Autore FROM Libro

Usi una datareader e nel ciclo del datareader inserisci in un pannello i pulsanti:

//******
//cicli gli Item presneti nel Datarow
for(int i=;i<dr.Count;i++)
{
Button btn1 = new Button();
btn1.Text = dr[i].ToString();//contenuto della cella (ad esempio Codice)
btn1.Name = nomeColonna;
Panel1.Controls.Add(btn1);
}
//*****
quando schiacci il pulsante, hai sia il valore che il nome della colonna.
Spero di averti fatto capire
Saluti
Ing Ferux
[MCP MCAD]

attilio Profilo | Junior Member

Gentilissimo e chiarissimo ora proverò e vi farò sapere
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5