2010-03-17 6 views
0

J'ai un DataGridView qui remplit à partir de la table dans la base de données SQL Server. L'une de ses colonnes est price.Format de la valeur DataGridView

Le type de colonne dans DGV est automatiquement défini comme décimal.

Dans certains cas, j'ai besoin d'écrire dans les cellules de ce texte de colonne comme "none", au lieu de prix.

Comment puis-je le faire?

DGV.Item("price", 0).Value = "none" ne fonctionne pas, en raison du type décimal d'une cellule.

Répondre

0

à la place de tout cela, utilisez la propriété expression de la colonne de données.

Si vous souhaitez simplement modifier la façon dont les données sont affichées (et c'est ce que vous voulez), accrochez l'événement CellFormatting. Voici l'idée générale (code non testé):

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (some_condition(e.ColumnIndex, e.RowIndex)) { 
     e.Value = "none"; 
     e.FormattingApplied = true; 
    } 
} 
0

Regardez la mise en œuvre IFormatProvider & ICustomFormatter ...

Ensuite DGV vous pouvez l'affecter au format de la colonne via ColumnFormatProvider.

Questions connexes