如何在使用DataGridView DataSource时隐藏自定义集合的属性?

时间:2009-07-31 07:15:36

标签: c# .net datagridview

我有一个自定义集合,让我们说

MyClass
{
    prop Name;
    prop Address;
    prop isRequired;
}


MyCustomCollection : List<MyClass>
{

}

当我这样做时

MyCustomCollection collection = new  MyCustomCollection ();
datagridView.DataSource = collection;

datagridview填充了三列Name,address,isRequired ..

我想从datagrid视图中隐藏isRequired属性,我该怎么做...

我也希望将它用作检查其他类的属性...

3 个答案:

答案 0 :(得分:2)

我使用[可浏览(假)]

MyClass的 {
     道具名称;    道具地址;    [可浏览(假)]     道具是必需的; } 隐藏列

答案 1 :(得分:1)

Browsable属性确实是一个不错的选择。您还可以将AutoGenerateColumns设置为false并手动创建列...

答案 2 :(得分:0)

或者您可以将列的visible属性设置为false。 对于我想要显示的每组业务数据,我会跟踪我想要隐藏的最左列的#,因为它们保存PK值。 这是一个示例:

        dgvDisplaySet.DataSource = _setSource
    gridColsToHide = _displaySet.hidePKFields
    For gridCol = 0 To dgvDisplaySet.Columns.Count - 1
        dgvDisplaySet.Columns(gridCol).Visible = (gridCol >= gridColsToHide)
    Next