Diskuze: C# MVC iterace sloupců modelu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
jdeš na to správným směrem... Upravím ti kód pro 1 řádek: (píšu to z
hlavy, takže bude občas potřeba něco poupravit)
var produkt = model.Produkty.First();
var sloupce = produkt.GetType().GetProperties();
var pocet = 0;
foreach(var sloupec in sloupce)
{
if (sloupec.GetValue(produkt, null) == null)
pocet++;
}
Díky za reakci. Toto řešení porovnává hodnoty pouze v prvním řádků
tabulky. Já potřebuji získat srovnání hodnot v celém každém sloupci.
Snažím se vyřadit sloupce kde je všude NULL, "" nebo 0 a ve zbylých získat
DISTINCT hodnoty.
Nevím jak tvé řešení zakomponovat třeba do SELECTU.
Předem děkuji za jakékoliv vodítko.
Promiň nevšiml jsem si že chceš všechny jedinečné ne-nullové hodnoty,
ty sloupce jsou všechny stejného typu např. decimal, nebo různé? … ikdyž
asi to bude víceméně jedno.
… opíšu z hlavy, nemusí to být úplně dobře napsané, a je to se
zachováním typu tzn. 1 != "1"
var produkt = model.Produkty.First();
var sloupce = produkt.GetType().GetProperties();
var neNullUnikatniHodnoty = new List<object>();
foreach(var radek in model.Produkty)
{
foreach(var sloupec in sloupce)
{
object hodnotaSloupce = sloupec.GetValue(radek, null);
if (hodnotaSloupce != null && !neNullUnikatniHodnoty.Contains(hodnotaSloupce))
neNullUnikatniHodnoty.Add(hodnotaSloupce);
}
}
Zobrazeno 5 zpráv z 5.