編集:
György Kőszeg がコメントしたように、問題を解決する方法は、Station クラスの ToString() 値をオーバーライドすることでした。これで、目的の値が返されます。
DataGridView にリストを設定しています。
マイ リストには、文字列、日時、およびクラスが含まれます。
問題は、クラスの列です。オブジェクト名として表示されているだけです。したがって、セルの内容は次のとおりです。OperatingLog.Model.Station. (datatable picture) オブジェクト全体を示す Test 列を示すデータ テーブル
私が代わりに望むのは、オブジェクトから値を表示することです。OperatingLog.Model.Station.ExternalId としましょう。ただし、セルの値を変更しようとすると(コードの写真)
オブジェクトを文字列に変換できないというエラーが表示されます。 エラー
オブジェクトを変更するのではなく、「ラベル」などを追加したいだけです。
インターネットで見つけた唯一の助けは、クラスではなく文字列のすべてのフィールドを持つモデルを作成することです。 モデル例
ただし、クラスにはデータが必要であるがすべてを表示したくない多くのプロパティがある可能性があるため、このアプローチは好きではありません。