winforms 如何对DataGridView列的一列中的值进行计数并在其他列中显示

qc6wkl3g  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(97)

在DataGridView中,我需要计算一个列有多少重复值。
例如,这是我的Datagridview:
| 计数| Count |
| --| ------------ |
| 二个| 2 |
| ||
| 三个| 3 |
| ||
| ||
例如,我想计算我的“个人”列中有多少个“个人代码”,并将结果放在Count列中每个PersonalCode的第一行。130001=2 130002=3

kb5ga3dv

kb5ga3dv1#

为什么不删除多余的重复字符串,只保留唯一的值?

的数据

List<uint> codes = new List<uint>()
{
    { 130001 },
    { 130001 },
    { 130002 },
    { 130002 },
    { 130002 },
};

DataTable table = new DataTable();
List<DataColumn> keys = new List<DataColumn>(2);

DataColumn personalColumn = new DataColumn()
{
    ColumnName = "Personal",
    DataType = typeof(uint)
};
DataColumn countColumn = new DataColumn()
{
    ColumnName = "Count",
    DataType = typeof(int)
};

table.Columns.Add(personalColumn);
table.Columns.Add(countColumn);

keys.Add(personalColumn);
keys.Add(countColumn);

table.PrimaryKey = keys.ToArray();

codes.Distinct().ToList().ForEach(code =>
{
    table.Rows.Add(code, codes.Where(x => x == code).Count());
});

dataGridView1.DataSource = table;

字符串

相关问题