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)