У меня есть сетка данных, которую я привязываю к классу, в которой некоторые столбцы помечены [Browsable(false)]
. Эти столбцы отображаются пустыми. Есть ли способ отключить это.
Я не использую автоматическую привязку, но сам создаю столбцы и задаю свойство DataPropertyName.
Мне потребовалось очень много времени, чтобы понять, почему они пусты, и я надеюсь, что есть какой-то простой способ показать значения в них. Единственное, о чем я могу думать, это написать свои собственные классы DataGridViewColumn и заново реализовать привязку. Есть другие идеи?
Вот некоторый код, который демонстрирует проблему, GridBrowsableProblem - это новая форма, в которую вставлен DataGridView. При запуске ProblemProperty не имеет значения.
public partial class GridBrowsableProblem : Form
{
public class ProblemTestClass
{
[Browsable(false)]
public string ProblemProperty { get; set; }
public string AnotherProperty { get; set; }
}
public GridBrowsableProblem()
{
InitializeComponent();
DataGridViewTextBoxColumn column1 = new DataGridViewTextBoxColumn();
column1.DataPropertyName = "ProblemProperty";
DataGridViewTextBoxColumn column2 = new DataGridViewTextBoxColumn();
column2.DataPropertyName = "AnotherProperty";
ProblemTestClass item = new ProblemTestClass();
item.ProblemProperty = "test1";
item.AnotherProperty = "test2";
BindingList<ProblemTestClass> bindingList = new BindingList<ProblemTestClass>();
bindingList.Add(item);
dataGridView1.Columns.Add(column1);
dataGridView1.Columns.Add(column2);
dataGridView1.DataSource = bindingList;
}
}