web-dev-qa-db-ja.com

c#データソースを使用してdatagridviewのプロパティを非表示にする

Datagridviewからパブリックプロパティを非表示にする属性が必要だと思います。しかし、私はそれを見つけることができません。

26
Someone

自分で列を追加する場合は...不要な列を追加しないでください。

AutoCreateColumnsを有効にしている場合は、次のようにします。

  • クラスベースのモデルの場合は、不要なプロパティに[Browsable(false)]を追加します
  • または、列の.Visibleをfalseに設定します
  • または、後で不要な列を削除するだけです
63
Marc Gravell
3
chikak

あなたの質問から、datagridview内に特定の「列」を表示したくないと思いますか?その場合は、Columnsプロパティを使用して、グリッドへのアタッチに使用するデータソースで見つかった自動作成された列を追加および削除します。

DataGridViewは、デフォルトで、基になるデータソースオブジェクトのすべてのパブリックプロパティの列を作成します。そう、

public class MyClass
{
   private string _name;

   public string Name
   {
      get{ return _name; }
      set { _name = value; }
   }

   public string TestProperty
   {
      { get { return "Sample"; }
   }
}

...
[inside some form that contains your DataGridView class]

MyClass c = new MyClass();

// setting the data source will generate a column for "Name" and "TestProperty"
dataGridView1.DataSource = c;

// to remove specific columns from the DataGridView
// dataGridView1.Columns.Remove("TestProperty")
0
Mike J