У меня есть datagridview, в котором записаны записи из CSV-файла (около 30 тыс. Записей с 30-40 уникальными идентификаторами - зависит от файла). Это выглядит так:Как суммировать столбцы datagridview по уникальным идентификаторам?
Теперь мой вопрос заключается в том, как суммировать эти столбцы по id? Или, может быть, есть способ напрямую поместить уже подведенные значения в datagridview?
private void dropListBox_DragDrop(object sender, DragEventArgs e)
{
data= new List<Raport>();
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files)
{
var nameOnly = System.IO.Path.GetFileName(file);
dropListBox.Items.Clear();
dropListBox.Items.Add(nameOnly);
dataGridView1.Rows.Clear();
string[] readText = File.ReadAllLines(file, Encoding.GetEncoding("Windows-1250"));
int i = 0;
foreach (string line in readText)
{
if (i++ == 0) continue;
var values = line.Split(';');
string a= values[0];
string b= values[1];
string c= values[2];
string user = values[3];
int xValues= int.Parse(values[4]);
int yValues= int.Parse(values[5]);
double d= double.Parse(values[6]);
string e= values[7];
string f= values[8];
string g= values[9];
string h= values[10];
double i= double.Parse(values[11]);
string j= values[12];
Raport Raport = new Raport(
a,
b,
c,
user,
xValues,
yValues,
d,
e,
f,
g,
h,
i,
j);
data.Add(Raport);
dataGridView1.Rows.Add(Raport.user, Raport.xValues, Raport.yValues, "8", "8");
Это код, который у меня есть. Последние 2 столбца не имеют значения (всегда заполняются фиксированными значениями)
Любые предложения будут оценены.
Это должно пойти как этого
John | 5 | 4
Carl | 3 | 1
John | 1 | 6
Carl | 4 | 1
затем
John | 6 | 10
Carl | 7 | 2
структура из Raport класс
class Raport
{
public readonly string a;
public readonly string b;
public readonly string c;
public readonly string user;
public readonly int xValue;
public readonly int yValue;
public readonly double d;
public readonly string e;
public readonly string f;
public readonly string g;
public readonly string h;
public readonly double i;
public readonly string j;
public Raport(
string a,
string b,
string c,
string user,
int xValue,
int yValue,
double d,
string e,
string f,
string g,
string h,
double i,
string j)
{
this.a= a;
this.b= b;
this.c= c;
this.user= user;
this.xValue= xValue;
this.yValue= yValue;
this.d= d;
this.e= e;
this.f= f;
this.g= g;
this.h= h;
this.i= i;
this.j= j;
}
public Raport()
{
}
public override string ToString()
{
return a+ " ; " +
b+ " ; " +
c+ " ; " +
user+ " ; " +
xValue+ " ; " +
yValue+ " ; " +
d+ " ; " +
e+ " ; " +
f+ " ; " +
g+ " ; " +
h+ " ; " +
i+ " ; " +
j;
}
}
}
Какое из этих столбцов «a, b, c, d, e, f, g, h, i, j 'является идентификационным номером? И какова структура класса Raport? Какие поля вы хотите суммировать? – Steve
ID - это «пользовательский», значения, которые я хочу подвести, - это xValues и yValues на основе идентификатора. (Я помещал их в datagridview в эту строку: dataGridView1.Rows.Add (Raport.user, Raport.xValues, Raport .yValues, «8», «8»);) «a, b, c, d, e, f, g, h, i, j 'не имеет значения, кроме как существует в CSV-файле, который я поставил к приложению. – Bronchi