C# 2005 Express e metodi

lunedì 28 aprile 2008 - 09.37

secks Profilo | Senior Member

In una Form ho inserito una DataGridView ed una TextBox.
Ho alimentato la griglia con 2 colonne di una tabella e sin qui tutto ok.
Ora il mio desiderio è alimentare la TextBox allo scorrere delle righe della DataGridView con il campo della prima colonna.
Nelle proprietà della DataGridView, in gestione eventi (Fulmine), sulla riga rowenter, ho messo il nome della funzione che gestisce il cambio riga.
E' corretto?
C'è un modo + immediato?

La funzione che ho inserito per alimentare la TextBox è la seguente:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow dRow = dataGridView1.CurrentRow;
txtCognome.Text = dRow.Cells[1].Value;
}


ma da il seguente errore

Error 1 Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)

perchè non gli va bene il cast
txtCognome.Text = dRow.Cells[1].Value;

Come posso fare l'assegnazione?

Sto leggendo un bel po' di roba in merito, ma non riesco a trovare la chiave giusta.

Grazie a tutti.
Paolo.

aiedail92 Profilo | Expert

Ciao

In C# non esiste una conversione implicita fra il tipo string e il tipo object (come avviene in VB.Net), pertanto quando vai ad ottenere Value, che è di tipo object, dalla cella, per assegnarlo ad una variabile string devi prima eseguire il cast su string o usare il metodo ToString:

txtCognome.Text = (string)dRow.Cells[1].Value; //Oppure: txtCognome.Text = dRow.Cells[1].Value.ToString();

Luca
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