Hierarchy repeater   zodpovězená otázka

ASP.NET WebForms

Dobrý den.

Mám dotaz ke článku http://vbnet.cz/clanek--155-tipy_a_triky...

Tato komponenta prochází nějaký xml dokument nebo sitemap. Já bych jí potřeboval upravit tak, aby měla stejnou implementaci a stejné možnosti, ale aby data tahala z nějaké mé datové struktury.

Má datová struktura:

class MyMap
{
    public MyMapItemCollection Items
    {
        get;
        set;
    }
}

class MyMapItemCollection : CollectionBase
{
     // kolekce (MyMapItem) - standartní medoty a fce z CollectionBase
}

class MyMapItem
{
    public string Name
    {
        get;
        set;
    }

    public string Description
    {
        get;
        set;
    }

    public MyMapItemCollection Items
    {
        get;
        set;
    }
}

Takže komponentě bych dal třeba: repeater.DataSource = MyMap.Items; ona by mi prošla všechny MyMapItem, a zobrazila je podle šablony do stránky. A to Eval("Hodnota") by tam asi mělo zůstat...

Jak něco takového provést? Vůbec netuším, jak na to. Můžete mi prosím poradit?

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A proč Vám vadí použití XML souboru? Myslím,že ten je pro tyto účely vytvořen.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je trošičku složitější, taky bych byl radši s obyč sitemapou, ale opravdu to musím řešit takto...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak si napiště vlastní třídu,implementující rozhraní IEnumerable..postup je v podstatě nastíněn v daném článku a na netu najdete spoustu dalších návodů.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Do DataSource předejte objekt, který implementuje IHierarchyEnumerable.

Typicky to funguje tak, že si napíšete vlastní třídu, které nějak předáte položky a ona toto rozhraní implementuje.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback