C# DataTable group után az eredményt kulcsok alapján növekvő sorrendbe rendezni?
Van egy táblám, amelynek sorait csoportosítom szabadon választható oszlopok alapján.
Tábla oszlopai: nap, óra, megye, város, csapadék (milliméterben).
A kimenetet egy új táblába szeretném felvinni kulcsok alapján sorba rendezve.
Íme a query:
var q = baseTable.AsEnumerable()
.GroupBy(row => columnsToGroupBy.Select(c => row[c]), comparer) //pl: nap, idő, megye
.Select(group => new
{
AllKeys = group.Key,
AllField = group.Sum(row => double.Parse(row["csapadék"].ToString()))
});
Tegyük fel a csoportosítás után megnézhető hogy adott időpontban megyénként mennyi eső esett.
q[0] tartalma { AllKeys { "kedd, "06:00", "Nógrád" }, AllField { "1" } }
q[1] tartalma { AllKeys { "hétfő", "12:00", "Békés" }, AllField { "3" } }
q[2] tartalma { AllKeys { "kedd, "06:00", "Békés" }, AllField { "1,5" } }
q[3] tartalma { AllKeys { "hétfő", "11:00", "Békés" }, AllField { "4" } }
Ezt rendezni szeretném kulcsok szerint egymás után növekvő sorrendbe, hogy így nézzen ki:
q[0] tartalma { AllKeys { "hétfő", "11:00", "Békés" }, AllField { "4" } }
q[1] tartalma { AllKeys { "hétfő", "12:00", "Békés" }, AllField { "3" } }
q[2] tartalma { AllKeys { "kedd, "06:00", "Békés" }, AllField { "1,5" } }
q[3] tartalma { AllKeys { "kedd, "06:00", "Nógrád" }, AllField { "1" } }
HA a felhasználó csak a nap és óra oszlop alapján szeretne csoportosítani, akkor csak a nap és óra oszlop szerint rendezzen sorrendbe.
Tudnátok segíteni, hogyan rendezhetném sorba lekérdezést a fentiek szerint?
Úgy működne, hogy (abc-re):
q.OrderBy(x => x.AllKeys.First()))
.ThenBy(x => x.AllKeys.ToList()[1])
.ThenBy(x => x.AllKeys.ToList()[2])
De mivel nem tudni mennyi kulcs lesz, ez nem jó megoldás.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!