私はに2つの列が設計されています。DataPropertyName
はName
とValue
です。このDGV
ためDataGridView - 匿名オブジェクト用に空のDataSourceを強制します。
DataSource
のように見えるSomeObject
クラスのコレクションから来ている:
public class SomeObject
{
public string Name { get; set; }
public int Value { get; set; }
public int SomeOtherProp1 { get; set; }
public int SomeOtherProp2 { get; set; }
}
私だけName
とValue
プロパティがDataSource
で使用することがしたいので、私はこれら二つのプロパティを持つ匿名オブジェクトを作成します(someObjectCollection
されますSomeObject objects
のコレクション):
dgv.DataSource = someObjectCollection.Select(o => new { o.Name, o.Value }).ToArray();
それは大丈夫です - 私が必要とするもの空のコレクションをdgv.DataSource
に手動で割り当ててクリアすることです。
null
を割り当てることはできません。これは、DataGridViewコントロールがフォーム上で消えるためです。 また、DataSourceで使用されている2つのプロパティだけを持つvievモデルクラスを追加して作成することもありません。
他の方法はありますか?
私は、データソースとして別のモデルを使用し、選択したモデルにデータを入力することを提案します。それから私はあなたの最後の文に気づいた。 IDはおそらくあなたの心配している 'dgv'を修正し、' data source'をヌルにしたり、空の 'object'にセットして行を消去しようと提案していますか? – thanatorr
グリッドが消えてはいけません。最小限の例はありますか? – Crowcoder