C# 修改DataGrid自身的显示方式

C# 修改DataGrid自身的显示方式,c#,.net,datagrid,compact-framework,datasource,C#,.net,Datagrid,Compact Framework,Datasource,我有一个datagrid,我为它设置了一个数据源作为类列表,这个类有几个属性,datagrid使用这些属性来创建和填充它自己 我仍然希望使用它,但是重命名一些列标签,删除行按钮(在网格的左侧)并隐藏一些列 我不知道该怎么做,甚至连谷歌都不知道该怎么做?应该能解决你的问题 使用DataGrid.AutoGeneratingColumn事件自定义行为 private void DataGridView_AutoGeneratingColumn(object sender, DataGridAutoG

我有一个datagrid,我为它设置了一个数据源作为类列表,这个类有几个属性,datagrid使用这些属性来创建和填充它自己

我仍然希望使用它,但是重命名一些列标签,删除行按钮(在网格的左侧)并隐藏一些列

我不知道该怎么做,甚至连谷歌都不知道该怎么做?

应该能解决你的问题

使用
DataGrid.AutoGeneratingColumn
事件自定义行为

private void DataGridView_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    string headerName = e.Column.Header.ToString();

    // No need of customization.
    if (headerName == "IAmPerfect")
    {
        e.Cancel = true;
    }

    // Columns which requires updating.
    if (headerName == "EID")
    {
        e.Column.Header = "Employee ID";
    }
    else if (headerName == "EName")
    {
        e.Column.Header = "Employee Name";
    }
}

使用所需的属性为显示创建一个类。 向网格中添加列,并为显示类中具有属性名称的列设置字段名。
创建显示对象的列表,并将该列表设置为网格的数据源。

我最终使用SQL查询来填充数据源,而不是列表,原因未知,我无法使datagridstyles在数据源所在的列表中工作,但当SqlCeDataAdapater是源时,它们工作正常