Tema: Re: PropertyGrid Example (kb)
Autorius: Jornada Del Muerto
Data: 2010-08-11 14:29:56
    As tai imciau analizuoti, pvz esu universalizaves zodynus, bet kodel negalima universalizuoti kad ir apklausas ar dar kazko kito, duosiu pavizdi su universalia zodynu forma:


    1. Visi zodynai ir aplamai labai daug ivairiu rusiu duomenu turi paprastai sias funkcijas:

    1.1. Objektu paieska (select);
    1.2. Nauju objekto kurimas (insert);
    1.3. Pazymeto objekto koregavimas (update);
    1.4. Pazymeto objekto salinimas (delete) - gali buti atliekama su keliais objektais;

    2. Egizstuoja taip pat antrines bet gan daznai pasitaikancios funkcijos:

    1.5. Kazkokiu objektu kuriam pazymetas objektas tevas apdirbimas ar paieska per juos (cia galima atidaryti analogiska universalu dialoga, kitaip sakant eiti i punkta nr 1 tik tiek kad objektu paieska ar nauju kurimas vyks risantis prie objekto tevo.)

    Cia visumoje elementariausia schema, kas dazniausia buna reikalinga, mano atveju buvo zodynai, nors tiesa jie turejo ivairu ir kai kada daug lauku, bet praktiskai dirbama buvo per pora interfeisu:

    public interface IAccessible {
        DataTable Search(string filter);    // mano atveju uzteko vieno paieskos lauko, bet cia nieks netrukdo kazka rimciau sukurt kazkoki search provider

        // Naudojama vidinei konversijai kad rasta objekta transformuoti i IDBItem ar atgal i row
        DataRow ToRow (IDBItem i);
        IDBItem ToItem (DataRow r);
    }

    public interface IDBItem {
        string Id { get; }
        ReturnValue Update ();
        ReturnValue New ();
        ReturnValue Delete();
    }

    Tada universaliai zodynu formos konstruktoriui budavo paduodama:

    public FrmUniDictionary (IAccessible accessible)

    Tada forma turedavo visas paminetas funkcijas ir kreipdavosi i accessible kad ieskoti, gautas objektu sarasas atitiko IDBItem interfeisa, o visi properciai (ivedimo laukai vaizduojami property grid'e), tiesa pas mane dar net kiek prasciau viskas realizuota pirmoje versijoje nei cia rasau ir daugiau klystkeliu yra.

    Esme ta kad cia bus 1 forma ir apdirbs tiek skirtingu duomenu kiek bus ivairiu siu interfeisu implementaciju... IAccessible aprasau tiem duomenim kokiem reikia, kaip ir IDBItem ir laisvai operuoju bet kuo vienoj formoj...

            


 


"Linas Petkevičius" <linas@NONOOglservices.lt> wrote in message news:i3tvr4$pb$2@trimpas.omnitel.net...
> Nu mane domina ne tike technines detales, bat pats principas. Ar teisingai 
> supratau tavo nuomone,kad vienas ish sprendimu - kruva formu, pakista po 
> bendromis klasemis?
> 
> "Jornada Del Muerto" <agira@TRINTIgmx.co.uk> wrote in message 
> news:i3tuao$u98$1@trimpas.omnitel.net...
>> Primeciau ant greicio, daugmaz vienas is galimu universalizavimo 
>> variantu... gal duos kam ideju 
>