に結合したときに、私はそれのために列を作成していないのDataGridViewを伝えるために私のクラスで使用することができますが属性でありますそれはDataGridView
のDataSource
に、グリッドは2つの列、 "Foo/Bar"と "Baz"を表示します。これは私が起こりたいものです。は、私は、このようなクラスを持っているリスト<MyClass>
Enabledはプロパティではなくフィールドであるため、現在は機能しています.DataGridViewはプロパティのみを取得します。しかし、これは汚れたハックです。
私もEnabledプロパティを作成したいと思いますが、それでもDataGridViewで非表示にします。
私は手動でバインドした後に列を削除することができますが、それは理想的ではありません。
DisplayNameに似た属性がありますか?プロパティにタグを付けることはできますか? [Visible(false)]
のようなもの?
私の目では[Bindable(false)]はうまくいくはずで、Browsable(ヘルプによる)はプロパティがPropertyGridに表示されているかどうかを定義するだけです。ただし、Bindable(false)はDataGridViewによって無視されます。 –
私は同意しますが、Framework Design Guidelines(http://www.amazon.com/Framework-Design-Guidelines-Conventions-Development/dp/0321246756)を読んで(そして再読した後)、私はデザイナーがいつも自分のルールに従っています(時には意味が分からないこともあります)。 –
これらのコントロールはすべて、 'System.ComponentModel.PropertyDescriptor'を使用するため、メンバの包含/除外に同じロジックを使用します。 'ComponentModel'クラスはカスタマイズ可能ですが、これは大変な作業であるため、これはまれです。 –