C# 如何在使用DataGridView数据源时隐藏自定义集合的属性?
我有一个定制的收藏品C# 如何在使用DataGridView数据源时隐藏自定义集合的属性?,c#,.net,datagridview,C#,.net,Datagridview,我有一个定制的收藏品 MyClass { prop Name; prop Address; prop isRequired; } MyCustomCollection : List<MyClass> { } datagridview由三列组成:名称、地址、isRequired 我想从datagrid视图中隐藏isRequired属性我该怎么做 我还想用它作为属性来签入另一个类…我用了[Browsable(false)] 我的班级 { 道具名称; 道具地
MyClass
{
prop Name;
prop Address;
prop isRequired;
}
MyCustomCollection : List<MyClass>
{
}
datagridview由三列组成:名称、地址、isRequired
我想从datagrid视图中隐藏isRequired属性我该怎么做
我还想用它作为属性来签入另一个类…我用了[Browsable(false)]
我的班级
{道具名称; 道具地址; [可浏览(错误)] 需要道具; } 为了隐藏列我使用了[Browsable(false)] 我的班级 {
道具名称; 道具地址; [可浏览(错误)] 需要道具; }
要隐藏列,Browsable属性确实是一个不错的选择。您还可以将AutoGenerateColumns设置为false并手动创建列…可浏览属性确实是一个不错的选择。您还可以将AutoGenerateColumns设置为false并手动创建列…或者将列的visible属性设置为false。 对于我想要显示的每一组业务数据,我都会跟踪我想要隐藏的最左边的列,因为它们包含PK值。 以下是一个示例:
dgvDisplaySet.DataSource = _setSource
gridColsToHide = _displaySet.hidePKFields
For gridCol = 0 To dgvDisplaySet.Columns.Count - 1
dgvDisplaySet.Columns(gridCol).Visible = (gridCol >= gridColsToHide)
Next
或者可以将列的visible属性设置为false。 对于我想要显示的每一组业务数据,我都会跟踪我想要隐藏的最左边的列,因为它们包含PK值。 以下是一个示例:
dgvDisplaySet.DataSource = _setSource
gridColsToHide = _displaySet.hidePKFields
For gridCol = 0 To dgvDisplaySet.Columns.Count - 1
dgvDisplaySet.Columns(gridCol).Visible = (gridCol >= gridColsToHide)
Next
谢谢你提出另一个选择,托马斯。托马斯,有没有办法让我把特定的行变成只读的。如果假设我想使那些在MyClass中IsRequired属性为false的行只读,那么有一种方法可以做到这一点,即处理CellBeginEdit事件。在处理程序中,检查行是否可以编辑,如果不能感谢建议另一个选项,则取消事件(e.cancel=true)。托马斯,有没有办法让我把特定的行变成只读的。如果假设我想使那些在MyClass中IsRequired属性为false的行只读,那么有一种方法可以做到这一点,即处理CellBeginEdit事件。在处理程序中,检查行是否可以编辑,如果不能编辑,则取消事件(e.cancel=true)