2009-07-31 14 views
0

私はカスタムコレクションは、私はIsRequiredこのプロパティを非表示にするDataGridView DataSourceの使用中にカスタムコレクションのプロパティを非表示にする方法はありますか?

..さんは、私が

MyCustomCollection collection = new MyCustomCollection(); 
datagridView.DataSource = collection; 

を行うとDataGridViewのは3つのカラム名、住所、IsRequiredこの移入され

MyClass 
{ 
    prop Name; 
    prop Address; 
    prop isRequired; 
} 


MyCustomCollection : List<MyClass> 
{ 

} 

を言わせていDataGridビューからどうすればいいですか...

また、別のクラスをチェックするプロパティとして使用したいのですが...

答えて

0

または、列のvisibleプロパティをfalseに設定できます。 表示するビジネスデータの各セットについて、PK値を保持しているため、非表示にしたい左端の列の数を追跡します。 サンプルは次のとおりです。

 dgvDisplaySet.DataSource = _setSource 
    gridColsToHide = _displaySet.hidePKFields 
    For gridCol = 0 To dgvDisplaySet.Columns.Count - 1 
     dgvDisplaySet.Columns(gridCol).Visible = (gridCol >= gridColsToHide) 
    Next 
2

Iは

MyClassの {
プロップ名[閲覧可能(偽)]を使用します。 アドレス; [ブラウズ可能(false)] prop isRequired; } 列を非表示にする

1

実際、Browsable属性は良いオプションです。 AutoGenerateColumnsをfalseに設定して列を手動で作成することもできます。

+0

別のオプションのトーマスを提案してくれてありがとう。 トーマス、特定の行を読み取り専用にすることができるようにする方法はありますか?もしMyClassのIsRequiredプロパティがfalseである行だけを読み込みたいとしたら、 –

+0

CellBeginEditイベントを処理することでこれを行う方法があります。ハンドラでは、行を編集できるかどうかをチェックし、行を編集できない場合はイベントをキャンセルします(e.Cancel = true)。 –

関連する問題