C# 向DataGridView添加表样式

C# 向DataGridView添加表样式,c#,datagridview,datagrid,C#,Datagridview,Datagrid,在为Windows CE开发时,我有一个名为DataGrid的组件。现在,使用Windows窗体,在最新版本中,我只使用了DataGridView,它没有TableStyles。我试图操作它的DataGridTextBoxColumns,但我无法操作。我正在为它绑定来自KeyValuePair列表的数据,我不知道如何控制它的一些列,比如MappingName、HeaderText或Width。 我的代码当前如下所示: public IList<KeyValuePair<int, st

在为Windows CE开发时,我有一个名为
DataGrid
的组件。现在,使用Windows窗体,在最新版本中,我只使用了
DataGridView
,它没有
TableStyles
。我试图操作它的
DataGridTextBoxColumn
s,但我无法操作。我正在为它绑定来自KeyValuePair列表的数据,我不知道如何控制它的一些列,比如MappingName、HeaderText或Width。 我的代码当前如下所示:

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);
    }
}
公共IList列表a
{
设置
{
dgwWorkitem.DataSource=值;
DataGridTableStyle选项卡=新DataGridTableStyle
{
MappingName=dgwWorkitem.GetType().Name
};
DataGridTextBoxColumn id=新DataGridTextBoxColumn
{
MappingName=@“密钥”,
HeaderText=@“Id”,
宽度=((dgwWorkitem.Width)/2)/2)
};
DataGridTextBoxColumn titulo=新DataGridTextBoxColumn
{
MappingName=@“值”,
HeaderText=@“Título”,
宽度=((dgwWorkitem.Width)/2)+((dgwWorkitem.Width/2)/2))
};
tabela.GridColumnStyles.Add(id);
tabela.GridColumnStyles.Add(titulo);
//dgwWorkitem.TableStyles.Clear();
//dgwWorkitem.TableStyles.Add(tabela);
}
}

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

您不需要创建新的
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));
    }
}
公共IList列表a
{
设置
{
dgwWorkitem.DataSource=值;
dgwWorkitem.Columns[0]。HeaderText=@“Id”;
dgwWorkitem.Columns[0]。宽度=((dgwWorkitem.Width)/2)/2);
dgwWorkitem.Columns[1].HeaderText=@“Título”;
dgwWorkitem.Columns[1]。宽度=((dgwWorkitem.Width)/2)+((dgwWorkitem.Width/2)/2);
}
}
通过这种方式,您可以像以前一样处理
Id
Título