С# Скрыть свойство в datagridview с помощью datasource

Я думаю, что должен быть атрибут, чтобы скрыть публичное свойство из datagridview. Но я не могу его найти.

Ответ 1

Если вы добавляете столбцы самостоятельно... не добавляйте столбцы, которые вам не нужны.

Если у вас включен AutoCreateColumns, то:

  • Если это модель на основе класса, добавьте [Browsable(false)] к свойствам, которые вы не хотите.
  • или установите столбец .Visible в значение false
  • или просто удалите столбцы, которые вы не хотите впоследствии

Ответ 3

Из вашего вопроса, я бы предположил, что вы не хотите показывать определенные "столбцы" внутри 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")