给DataGridView添加表样式

本文关键字:样式 添加 DataGridView | 更新日期: 2023-09-27 18:13:49

当我为Windows CE开发时,我有一个叫做DataGrid的组件。现在,使用Windows窗体,在最近的版本中,我只有DataGridView,它没有TableStyles。我试着控制它的DataGridTextBoxColumn,但是我做不到。我从KeyValuePair的列表绑定它的数据,我不知道我怎么能控制它的列的东西,像MappingName, HeaderText或宽度。我的代码目前如下:

public IList<KeyValuePair<int, string>> Lista
{
    set
    {
        dgwWorkitem.DataSource = value;
        DataGridTableStyle tabela = new DataGridTableStyle
        {
            MappingName = dgwWorkitem.GetType().Name
        };
        DataGridTextBoxColumn id = new DataGridTextBoxColumn
        {
            MappingName = @"Key",
            HeaderText = @"Id",
            Width = (((dgwWorkitem.Width) / 2) / 2)
        };
        DataGridTextBoxColumn titulo = new DataGridTextBoxColumn
        {
            MappingName = @"Value",
            HeaderText = @"Título",
            Width = (((dgwWorkitem.Width) / 2) + ((dgwWorkitem.Width / 2) / 2))
        };
        tabela.GridColumnStyles.Add(id);
        tabela.GridColumnStyles.Add(titulo);
        // dgwWorkitem.TableStyles.Clear();
        // dgwWorkitem.TableStyles.Add(tabela);
    }
}

我使用set来绑定数据,然后我想操作,但是DataGrid中的TableStylesDataGridView中不被接受。如何在不创建DataGridTableStyle的情况下操作它们?

给DataGridView添加表样式

您不需要创建新的DataGridTableStyle。知道了它的索引,只需单独操作每个属性:

public IList<KeyValuePair<int, string>> Lista
{
    set
    {
        dgwWorkitem.DataSource = value;
        dgwWorkitem.Columns[0].HeaderText = @"Id";
        dgwWorkitem.Columns[0].Width = (((dgwWorkitem.Width) / 2) / 2);
        dgwWorkitem.Columns[1].HeaderText = @"Título";
        dgwWorkitem.Columns[1].Width = (((dgwWorkitem.Width) / 2) + ((dgwWorkitem.Width / 2) / 2));
    }
}

这样你就可以像以前一样处理IdTítulo