2009-08-25 5 views
2

J'ai un code d'article de colonne, dans ma base de données que j'ai lié à une vue de grille de données. L'article-code vient dans ce format "A-B-C", je souhaite seulement montrer la partie "B" du code, j'ai lié cette colonne au gridview et souhaite maintenant montrer la sous-chaîne. J'ai essayé defaultcellstyle.format mais je ne sais pas comment obtenir une sous-chaîne pour cela.cellule de format de datagridview pour montrer la sous-chaîne du texte de colonne dans vb.net

Répondre

2

Est-il possible d'ajouter une nouvelle propriété à votre objet lié, quelque chose comme ItemCodePart, qui renvoie la partie centrale de votre code article, puis lier cette propriété à la colonne au lieu du code article? Ce serait le moyen le plus simple.

Une autre option consiste à gérer l'événement CellFormatting du DataGridView et mis e.Value à la partie de l'élément de code que vous souhaitez afficher:

Private Sub myDataGridView_CellFormatting(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs) Handles myDataGridView.CellFormatting 

If e.ColumnIndex = MyItemPartColumn.Index Then 
    Dim currentValue As String = CStr(myDataGridView.Item(e.ColumnIndex, e.RowIndex).Value) 
    Dim parts As String() = currentValue.Split(New Char() {"-"c}) 
    e.Value = parts(1) 
End If 

End Sub 
+0

l'objet est un datatable, pouvez-vous me dire comment je peux lui ajouter une propriété? –

+0

DataColumn est la classe d'une colonne et vous ajoutez via la méthode datatable.columns.add. Ensuite, sur vos lignes, vous accédez normalement à la nouvelle colonne et définissez sa valeur sur la version formatée de votre article. – klabranche

+0

Avec un datatable peut-être la deuxième option est plus simple ;-) –

0

événement RowDataBound - Vous pouvez modifier le texte de ce champ .

Questions connexes