[DataGridView]Proprietà colonna puntatore

giovedì 17 dicembre 2009 - 11.57

phpbeta Profilo | Newbie

Ciao a tutti,
sono un novizio della programmazione in .net e ho un problemino stupidissimo che non riesco a risolvere.

Fondamentalmente ho una serie di DataGridView che vengono popolate da rispettive routine inserendo i dati riga per riga.

Ogni riga è composta da diversi dati che vengono ricostrutiti da parametri recuperati dal database e in base a questi parametri cambia lo stile della riga.
Fin quì nessun problema, tra l'altro inserendo riga per riga si risolve il solito problema di refresh che sfarfalla.

Comunque, la mia necessità è quella di modificare anche la prima colonna a sx (quella del puntatore) che però dai parametri della riga non riesco ad accedervi (molto probabilmente quella colonna ha un nome che non so).
Per modificare lo stile delle righe faccio:

datagrid.Rows[j].DefaultCellStyle.BackColor = Color.<colore>;
(dove j è l'identificatore di riga)

Anche facendo ad esempio datagrid.Rows[j].Cells[0].Style.BackColor = Color.Red; modifica lo stile della seconda cella, mentre dando ad esempio Cells[-1] va in errore per Identificatore non compreso nell'intervallo.

Credo (sicuramente) quella colonna ha un nome specifico nel'insieme della riga che non conosco.


Grazie,
Lorenzo

brazero Profilo | Junior Member

>Comunque, la mia necessità è quella di modificare anche la prima
>colonna a sx (quella del puntatore) che però dai parametri della
>riga non riesco ad accedervi (molto probabilmente quella colonna
>ha un nome che non so).
>Per modificare lo stile delle righe faccio:

Prova con la sintasse:

DataGrid.Columns(0).ColumnsName .. per recuperare il nome della colonna, oppure assegna direttamente la proprietà che vuoi usando l'indice numerico che parte da 0 per la prima colonna..

Ciaoo

phpbeta Profilo | Newbie

>Prova con la sintasse:
>
>DataGrid.Columns(0).ColumnsName .. per recuperare il nome della
>colonna, oppure assegna direttamente la proprietà che vuoi usando
>l'indice numerico che parte da 0 per la prima colonna..

Sopra ho già scritto: "Anche facendo ad esempio datagrid.Rows[j].Cells[0].Style.BackColor = Color.Red; modifica lo stile della seconda cella, mentre dando ad esempio Cells[-1] va in errore per Identificatore non compreso nell'intervallo..."
Quindi all'indice [0] prende la prima colonna intestata, secondo me quella del puntatore ha un nome particolare..

alexmed Profilo | Guru

Ciao
Ma ti riferisci alla "RowHeaders"?
Quella dove viene disegnato il triangolino nero () che mi indica quale riga stai selezionando?

Se si non credo (in maniera semplice) sia modificabile se non per la larghezza (RowHeadersWidth = X).

Comunque dai un'occhiata qui:

http://www.codeproject.com/KB/grid/NiceGridView.aspx
e qui:
http://www.codeproject.com/KB/vb/GradientColumnheader.aspx

Ciao

alexmed

phpbeta Profilo | Newbie

>Ciao
>Ma ti riferisci alla "RowHeaders"?
>Quella dove viene disegnato il triangolino nero () che mi
>indica quale riga stai selezionando?
>
>Se si non credo (in maniera semplice) sia modificabile se non
>per la larghezza (RowHeadersWidth = X).
>
>Comunque dai un'occhiata qui:
>
>http://www.codeproject.com/KB/grid/NiceGridView.aspx
>e qui:
>http://www.codeproject.com/KB/vb/GradientColumnheader.aspx
>
>Ciao
>
>alexmed

Ciao, mi ero dimenticato di chiudere questo 3d.

Comunque si, era proprio quello ("RowHeaders").
Il testo è modificabile da DataGrid.Rows[<indice_riga>].RowHeaders.value = <text>;
Però non c'è verso di metterci un'immagine.

Ho risolto eliminando la visualizzazione della colonna (RowHeadersVisible = false;) e creando una prima colonna di tipo ImageColumn ;)

Grazie comunque ;)


Saluti,
Lorenzo
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