Benutzerdefiniertes Formatieren von Daten in der Datagrid-Ansicht während der Datenbindung

Ich suche nach einer Möglichkeit, DataGridViewTextBoxColumn so zu formatieren, dass der zu databindende Wert während der Datenbindung formatiert wird. Zum Beispiel habe ich eine CompanyName-Eigenschaft und muss die ersten 5 Buchstaben aus dem CompanyName nehmen, wenn eine Datenbindung stattfindet.

Ich könnte verschiedene DataGridView-Ereignisse (z. B. RowsAdded) einbinden und alle Zeilen durchlaufen und den Trick ausführen, aber ich würde gerne einen differenzierteren Weg finden, dies zu tun. Da ich mich für die Datenbindung entschieden habe, widerspricht das Durchlaufen und Ändern von Daten dem Datenbindungskonzept.

Was ich möchte, ist, wie ich das Gleiche wie unten mache, aber eine benutzerdefinierte Formatierungslogik hinzufüge:

dataGridView1.Columns[colSomeDate.Index].DataPropertyName = "SomeDate";
colSomeDate.DefaultCellStyle.Format = "yyyy";

Ich denke, ich sollte IFormatProvider implementieren, aber ich verstehe nicht ganz, wie ich es implementieren soll.

dataGridView1.Columns[companyName.Index].DataPropertyName = "CompanyName";
companyName.DefaultCellStyle.FormatProvider = new ShortText(); // ShortText should implement IFormatProvider

Antworten auf die Frage(7)

Ihre Antwort auf die Frage