c#使用datasource在datagridview中隐藏属性
我认为必须有一个属性来隐藏datagridview中的公共属性。但是我找不到它 来自c#使用datasource在datagridview中隐藏属性,c#,attributes,datasource,C#,Attributes,Datasource,我认为必须有一个属性来隐藏datagridview中的公共属性。但是我找不到它 来自 [可浏览(错误)]如果您自己添加列。。。不要添加不需要的列 如果启用了AutoCreateColumns,则: 如果是基于类的模型,请将[Browsable(false)]添加到您不需要的属性中 或者将列的.Visible设置为false 或者干脆删除以后不需要的列 根据您的问题,我可以想象您不想在datagridview中显示某些“列”吗?如果是这样,请使用Columns属性添加和删除在数据源上找到的用于附
[可浏览(错误)]如果您自己添加列。。。不要添加不需要的列 如果启用了
AutoCreateColumns
,则:
- 如果是基于类的模型,请将
添加到您不需要的属性中[Browsable(false)]
- 或者将列的
设置为false.Visible
- 或者干脆删除以后不需要的列
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")
您可以使用以下链接来满足您的要求:另一个选项是在AutoGeneratingColumnHandler中将DataGridAutoGeneratingColumnEventArgs.Cancel设置为true。是的,BrowsableAttribute!这是我一整天都在找的东西。谢谢。@Szybki IIRC,我发现它在找什么的唯一方法就是看反射器。。。从网格到
PropertyDescriptor
,再到PropertyInfo
。这并不明显;p我可以在这里找到这个自动创建列?@Daniel您可能正在使用web控件吗?在撰写本文时,我认为这个问题是指winforms,它有这个属性