Kontrolnik DetailsList

Ta kontrolnik se uporablja za prikaz nabora podatkov.

opomba,

Celotno gradivo in izvirna koda sta na voljo v skladišču komponent kode storitve GitHub.

Kontrolnik DetailsList.

Description

Seznam podrobnosti (DetailsList) zagotavlja robusten prikaz zbirke elementov z veliko informacijami in uporabnikom omogoča razvrščanje, združevanje ter filtriranje vsebin. Kontrolnik DetailsList uporabite, kadar je gostota informacij kritična.

Komponenta kode DetailsList omogoča uporabo komponente berljivega uporabniškega vmesnika DetailsList v aplikacijah s platnom in na straneh po meri.

  • Vezana je lahko na nabor podatkov Dataverse ali na lokalno zbirko.
  • Omogoča prilagodljivost, saj podpira stolpce, ki jih je mogoče konfigurirati ločeno od metapodatkov stolpcev iz nabora podatkov vira.
  • Vrste celic za povezave, ikone, razširitev/strnitev in celice podbesedila.
  • Podpora za ostranjevanje.
  • Podpora za razvrščanje z uporabo razvrščanja storitve Dataverse ali lastnosti SortBy, ki jih je mogoče konfigurirati.

Lastnosti

Ključne lastnosti

Lastnost Description
Items Nabor podatkov, ki vsebuje vrstice za upodobitev. Prikazana je tudi kot Records. Glejte spodnjo tabelo z lastnostmi elementov.
Columns Nabor podatkov, ki vsebuje metapodatke možnosti za stolpce. Če je na voljo, bo ta nabor podatkov v celoti zamenjal stolpce, navedene v naboru podatkov Records. Glejte spodnjo tabelo z lastnostmi stolpcev.
SelectionType Vrsta izbora (brez, posamezno, več)
PageSize Določa število zapisov, ki se naložijo na posamezni strani.
PageNumber Izpiše trenutno prikazano stran.
HasNextPage Izhod je resničen, če je naslednja stran.
HasPreviousPage Izhod je resničen, če obstaja prejšnja stran.
TotalRecords Izpiše skupno število razpoložljivih zapisov.
CurrentSortColumn Ime stolpca, ki bo prikazan kot trenutno uporabljeni stolpec za razvrščanje
CurrentSortDirection Smer trenutno uporabljenega stolpca za razvrščanje

Lastnosti Items

Ti atributi morajo biti v viru podatkov na voljo, da lahko omogočite z njimi povezane funkcije. S formulo AddColumns() jezika Power Fx je mogoče te vrednosti pripeti v prvotni vir podatkov.

Lastnost Description
RecordKey (izbirno) – enolično ime stolpca ključa. To navedite, če želite, da se izbor ohrani, ko so zapisi posodobljeni in če želite EventRowKey , da po sprožitvi dogodka namesto indeksa OnChange vrstice vsebuje ID.
RecordCanSelect (izbirno) – ime stolpca z vrednostjo boolean, ki določa, ali je vrstico mogoče izbrati.
RecordSelected (izbirno) – ime stolpca z vrednostjo boolean, ki določa, ali je vrstica privzeto izbrana, in ali nastavitev InputEvent vsebuje SetSelection. Glejte spodnji razdelek o funkciji Set Selection.

Lastnosti Columns

Lastnost Description
ColDisplayName (obvezno) – Zagotavlja ime stolpca za prikaz v glavi.
ColName (obvezno) – Zagotavlja ime dejansko ime polja stolpca v zbirki elementov.
ColWidth (obvezno) – Zagotavlja absolutno fiksno širino stolpca v slikovnih pikah.
ColCellType Vrsta celice za upodobitev. Možne vrednosti: expand, tag, indicatortag, image, clickableimage, link. Če želite več informacij, glejte naslednje razdelke.
ColHorizontalAlign Poravna vsebino celice, če je ColCellType vrste image ali clickableimage.
ColVerticalAlign Poravna vsebino celice, če je ColCellType vrste image ali clickableimage.
ColMultiLine Nastavite na »true«, kadar je besedilo v celicah predolgo za razpoložljivo širino in je potreben prelom besedila.
ColResizable Nastavite na »true«, kadar mora biti širina glave stolpca spremenljiva.
ColSortable True, ko mora biti stolpec razvrščen. Če nabor podatkov podpira samodejno razvrščanje prek neposredne povezave s storitvijo Dataverse, bodo podatki samodejno razvrščeni. V nasprotnem primeru bosta izhodni vrednosti za SortEventColumn in SortEventDirection nastavljeni in ju je treba uporabiti v izrazu za vezanje Power FX.
ColSortBy Ime stolpca, ki bo dodan v dogodek OnChange ob razvrščanju stolpca. Če na primer razvrščate datumske stolpce, želite razvrstiti podatke glede na dejansko vrednost datuma in ne glede na oblikovano besedilo, prikazano v stolpcu.
ColIsBold Nastavite na »true«, kadar morajo biti podatki celice v krepki pisavi
ColTagColorColumn Pri celici vrste »oznaka« nastavite šestnajstiško barvo ozadja oznake besedila. Nastaviti jo je mogoče na transparent. Če vrsta celice ni oznaka, nastavite šestnajstiško barvo, ki jo boste uporabili kot celico oznake indikatorskega kroga. Če je besedilna vrednost prazna, oznaka ni prikazana.
ColTagBorderColorColumn Nastavite na šestnajstiško barvo, ki bo uporabljena kot barva obrobe besedilne oznake. Nastaviti jo je mogoče na transparent.
ColHeaderPaddingLeft Besedilu glave stolpca doda polnilo (slikovne pike)
ColShowAsSubTextOf Če jo nastavite na ime drugega stolpca, se bo stolpec premaknil tako, da postane podrejeni element tega stolpca. Glejte spodnji razdelek o stolpcih podbesedila.
ColPaddingLeft Doda polnilo na levo stran podrejene celice (slikovne pike)
ColPaddingTop Doda polnilo na vrh podrejene celice (slikovne pike)
ColLabelAbove Premakne oznako nad vrednost podrejene celice, če je prikazana kot stolpec Podbesedilo.
ColMultiValueDelimiter To ločilo združi vrednosti polja z več vrednostmi. Glejte spodnji razdelek o stolpcih z več vrednostmi.
ColFirstMultiValueBold Pri prikazu vrednosti polja z več vrednostmi je prvi element prikazan v krepki pisavi.
ColInlineLabel Če je nastavljena na vrednost niza, se uporablja za prikaz oznake znotraj vrednosti celice, ki se lahko razlikuje od imena stolpca. Na primer
slika-20220322144857658
ColHideWhenBlank Če je argument »true«, bodo vse oznake celice v vrstici in oblazinjenje skrite, če je vrednost celice prazna.
ColSubTextRow Kadar je v celici podbesedila prikazanih več celic, nastavite na kazalo vrstice. Ničla označuje glavno vrstico vsebine celice.
ColAriaTextColumn Stolpec, ki vsebuje opis arije za celice (na primer celice ikon).
ColCellActionDisabledColumn Stolpec z logično zastavico, ki nadzoruje, ali je dejanje celice (na primer celice ikone) onemogočeno.
ColImageWidth Velikost ikone/slike (v slikovnih pikah).
ColImagePadding Polnilo okrog celice z ikono/sliko.
ColRowHeader Definira stolpec, ki je večji od drugih celic (14 px namesto 12 px). Običajno ima vsak stolpec le eno glavo vrstice.

Lastnosti sloga

Lastnost Description
Theme Datoteka s temo »Theme JSON« za berljivi uporabniški vmesnik, ki je ustvarjena in izvožena iz Oblikovalnika tem berljivega uporabniškega vmesnika. Glejte nastavitev tem za pomoč pri konfiguraciji.
Compact Nastavite na »true«, kadar je treba uporabiti kompakten slog
AlternateRowColor Šestnajstiška vrednost barve vrstice, ki se uporabi v vsaki drugi vrstici.
SelectionAlwaysVisible Nastavi, da so izbirni gumbi vedno vidni in ne samo ob pomiku na vrstico.
AccessibilityLabel Oznaka, ki se doda v opis tabele za niz atributov Aria

Lastnosti dogodkov

Lastnost Description
RaiseOnRowSelectionChangeEvent Dogodek OnChange se sproži ob izbiri/preklicu izbire vrstice (glejte spodaj).
InputEvent Eden ali več vhodnih dogodkov (ki jih je mogoče združiti z spojitvijo nizov). Možne vrednosti: SetFocus, SetFocusOnRow, SetFocusOnHeader, ClearSelection, SetSelection. Slediti mu mora naključni element niza, da se dogodek zagotovo sproži. Dogodki se lahko kombinirajo, na primer, SetFocusClearSelection bodo izbrisali in nastavili fokus hkrati. SetFocusOnRowSetSelection nastavi fokus na vrstico in hkrati nastavi izbor.
EventName Izhodni dogodek, ko se sproži atribut OnChange . Možne vrednosti: Sort, CellAction, OnRowSelectionChange
EventColumn Ime polja stolpca izhodnega dogodka, ki se uporabi ob priklicu vrednosti CellAction
EventRowKey Stolpec izhodnega dogodka, ki vsebuje bodisi kazalo vrstice, v kateri je bil dogodek priklican, ali ključ vrstice, če je nastavljena lastnost RecordKey.
SortEventColumn Ime stolpca, ki je sprožil dogodek Sort OnChange za razvrščanje ob spremembi
SortEventDirection Smer razvrščanja, ki je sprožila dogodek Sort OnChange za razvrščanje ob spremembi

Osnovna uporaba

Če želite določiti, kateri stolpci bodo prikazani na seznamu DetailsList, konfigurirajte naslednje lastnosti seznama DetailsList:

  1. Polja. Dodajte želena polja tako, da izberete možnost »Uredi« v pojavnem meniju kontrolnikov na desni (pojavni meni uporablja isti vmesnik za spreminjanje vnaprej določenih podatkovnih kartic).

  2. stolpcih. Zagotovite določeno preslikavo med stolpci in polji v lastnosti Columns.

Primer:

Preslikava v sistemsko tabelo Kupci storitve Dataverse z naslednjo formulo:

Table(
    {
        ColName: "name",
        ColDisplayName: "Name",
        ColWidth: 200,
        ColSortable: true,
        ColIsBold: true,
        ColResizable: true
    },{
        ColName: "address1_city",
        ColDisplayName: "City:",
        ColShowAsSubTextOf: "name"
    },{
        ColName: "address1_country",
        ColDisplayName: "Country:",
        ColShowAsSubTextOf: "name"
    },{
        ColName: "telephone1",
        ColDisplayName: "Telephone",
        ColWidth: 100,
        ColSortable: true,
        ColResizable: true
    },{
        ColName: "primarycontactid",
        ColDisplayName: "Primary Contact",
        ColWidth: 200,
        ColSortable: true,
        ColSortBy: "_primarycontactid_value",
        ColResizable: true,
        ColCellType: "link"
    }
)

Stolpci podbesedila

Lastnost stolpca ColShowAsSubTextOf določa, da je stolpec prikazan pod vrednostjo v drugem stolpcu. Uporabite jo lahko za prikaz sekundarnih informacij in razširljive vsebine (glejte spodaj).

Če je bila vaša zbirka opredeljena tako:

ClearCollect(colAccounts,
{id:"1",name:"Contoso",city:"Redmond",country:"U.S.",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",expand:false},
{id:"2",name:"Litware, Inc",city:"Dallas",country:"U.S.",description:"Donec vel pellentesque turpis.",expand:false});

Potem lahko stolpce opredelite tako:

Table(
    {
        ColName: "name",
        ColDisplayName: "Account Name",
        ColWidth: Self.Width-100,
        ColIsBold:true
    },
    {
        ColName: "city",
        ColDisplayName: "City:",
        ColShowAsSubTextOf:"name",
        ColLabelAbove:false,
        ColIsBold:true,
        ColSubTextRow: 1
    },
    {
        ColName: "country",
        ColDisplayName: "Country:",
        ColShowAsSubTextOf:"name",
        ColLabelAbove:false,
        ColIsBold:true,
        ColSubTextRow: 1
    },
    {
        ColName: "description",
        ColDisplayName: "",
        ColShowAsSubTextOf:"name",
        ColLabelAbove:false,
        ColIsBold:false,
        ColSubTextRow: 2
    }
)

Nastala bo tabela, ki bo po izgledu podobna spodnji tabeli:
slika-20220323115627812

Vrste celic

Lastnost stolpca ColCellType sprejme naslednje vrednosti: expand, tag, image, indicatortag, clickableimage, link

Razširi/strni

Če vrstice 'Podbesedilo' zahtevajo ikono za razširitev/strnitev, lahko naboru podatkov stolpca dodate dodaten stolpec, nabor ColCellType definicij expand stolpcev pa nastavite tudi:

{ColName:"expand",ColDisplayName:"",ColWidth:32,ColResponsive:false, ColRightAligned:true, ColCellType:"expand"}

Če je lastnost RecordKey nastavljena na stolpec index, lahko dogodek OnChange vsebuje naslednje atribute za razširitev/strnitev vrstic:

If(Self.EventName="CellAction" && Self.EventColumn="expand",
    With(LookUp(colExpand,index=Self.EventRowKey) As Row,
        Patch(colExpand,Row,{expand:!Row.expand})
        )
);

Ta ukaz poišče vrstico, za katero je bilo pri uporabi kazala priklicano dejanje »Cell Action« (če RecordKey ni nastavljen, bo EventRowKey vseboval številko vrstice), nato pa preklopi vrednost razširitve.

Rezultat bo takšen:
Primer razširitve in strnitve, razložen z animacijo

Oznaka in oznaka indikatorja

Z vrsto tag celice ali indicatortag pa lahko ustvarite barvne oznake v vrstici za prikaz vsebine celice.

  • tag - To bo prikazalo polje z oznako z barvnim ozadjem in obrobo
  • tagindicator – prikaže polje oznake z barvnim označevalnim krogom

Barve se lahko razlikujejo glede na vrstico, zato nabor podatkov metapodatkov stolpca preprosto vsebuje ime stolpcev, ki vsebujejo barve za oznake.

Če imate takšen nabor podatkov:

ClearCollect(
    colAccounts,
    {
        name: "Contoso",
        city: "Redmond",
        country: "U.S.",
        TagColor: "rgb(0, 183, 195)",
        TagBorderColor: "rgb(0,137,147)"
    },
    {
        name: "Litware, Inc",
        city: "Dallas",
        country: "U.S.",
        TagColor: "rgb(255, 140, 0)",
        TagBorderColor: "rgb(194,107,0)"
    }
);

Potem lahko z metapodatki stolpca dodate dva stolpca, pri čemer bo prvi prikazan kot oznaka, drugi pa kot označevalna oznaka, oba pa bosta za določanje barv uporabila stolpca TagColor in TagBorderColor.

{
        ColName: "country",
        ColDisplayName: "Country",
        ColCellType:"tag",
        ColWidth: 60,
        ColTagColorColumn: "TagColor",
        ColTagBorderColorColumn: "TagBorderColor"
},
{
        ColName: "country",
        ColDisplayName: "Country",
        ColCellType:"indicatortag",
        ColWidth: 60,
        ColTagColorColumn: "TagColor",
        ColTagBorderColorColumn: "TagBorderColor"
}

Rezultat bo takšen:
slika-20220323150248449

Slika in slika, ki jo je mogoče klikniti

Z vrsto celice image ali clickableimage konfigurirate slike v vrstici, ki jih lahko po želji izberete za sprožitev dejanja OnChange.

Vsebino slike je mogoče opredeliti z naslednjimi predponami:

  • https: povezava do zunanje slike. Na primer https://via.placeholder.com/100x70
  • icon: Uporaba ene od ikon uporabniškega vmesnika Fluent, na primer, icon:SkypeCircleCheck
  • data: Uporaba slikovnih podatkov svg v vrstici: na primer, data:image/svg+xml;utf8, %3Csvg%20%20viewBox%3D%270%200%2020...

Pri sliki vrste clickableimage se bo dogodek OnChange sprožil ob izbiri ikone, ko atribut EvenName dejanja CellAction, EventColumn navaja ime stolpca s slikami in ko je EventRowKey nastavljen kot RecordKey za vrstico (če RecordKey ni nastavljen, bo EventRowKey vseboval številko vrstice).

Upoštevajte na primer podatke vrstic:

{
        id: "1",
        name: "Contoso",
        city: "Redmond",
        country: "U.S.",
        ImageColor: "rgb(0, 183, 195)",
        externalimage: "https://via.placeholder.com/100x70",
        iconimage: "icon:SkypeCircleCheck"
    },
    {
        id: "2",
        name: "Litware, Inc",
        city: "Dallas",
        country: "U.S.",
        ImageColor: "rgb(255, 140, 0)",
        externalimage: "https://via.placeholder.com/100x70",
        iconimage: "icon:SkypeCircleCheck"
    }

in metapodatkih stolpca:

 {
        ColName: "externalimage",
        ColDisplayName: "Image",
        ColCellType:"image",
        ColWidth: 60,
        ColImageWidth: 60,
        ColImagePadding: 8,
        ColVerticalAlign: "Top"
},
{
        ColName: "iconimage",
        ColDisplayName: "Clickable Image",
        ColCellType:"clickableimage",
        ColWidth: 60,
        ColImageWidth: 60,
        ColImagePadding: 8,
        ColVerticalAlign: "Top"
}

Je rezultat videti takole:
slika-20220323161817524

clickableimage Za stolpec OnChange lahko dogodek nato obravnava, ko uporabnik izbere (miška ali tipkovnica) in ikono (ob predpostavki, da ni onemogočena) z uporabo:

If(Self.EventName="CellAction",
	Notify("CellAction " & Self.EventColumn & " " & Self.EventRowKey)
)

EventRowKey bo zapolnjen z vrednostjo stolpca, opredeljeno kot lastnost RecordKey.

Stolpce je mogoče upodobiti kot povezave, ki ob izbiri povezave sprožijo dogodek OnChange podobno kot pri zgoraj opisanih slikah, ki jih je mogoče klikniti.

Metapodatki stolpca za povezavo se konfigurirajo takole:

  {
        ColName: "name",
        ColDisplayName: "Account Name",
        ColWidth: 150,
        ColIsBold:true,
        ColCellType: "link"
    }

Vsebina celice se s to konfiguracijo upodobi tako:
slika-20220323162653369

Dogodek OnChange se ponovno sproži ob kliku povezave, pri čemer je EventColumn ime stolpca, ki vsebuje povezavo, EventRowKey pa se zapolni z vrednostjo stolpca, opredeljeno kot lastnost RecordKey.

Stolpci z več vrednostmi

Če vrednost stolpca nastavite na »Tabela/Zbirka«, ima lahko vrednost stolpca več vrednosti. Vrednosti se potem upodobijo kot vrednosti več celic. Na primer:

 {
        id: "1",
        name: "Contoso",
        tags:["#PowerApps","#PowerPlatform"]
    },

V tem primeru so lahko metapodatki stolpca takšni:

 {
        ColName: "tags",
        ColDisplayName: "Tags",
        ColWidth: 250,
        ColFirstMultiValueBold :true,
        ColMultiValueDelimiter:" "
    }

Rezultat je tabela, ki prikazuje:
slika-20220324160725874

Način delovanja

Razvrščanje dogodkov

Stolpec je opredeljen kot stolpec z možnostjo razvrščanja, ko je lastnost ColSortable nastavljena na »true«. Če stolpec prikazuje besedilno vrednost, ki se razlikuje od zahtevanega vrstnega reda razvrščanja (na primer oblikovan stolpec z datumom ali stanjem), lahko z ColSortBy lastnostjo določite drug stolpec za razvrščanje.

Razvrščanje nato poteka na dva načina:

  1. Samodejno, ko je vzpostavljena povezava z virom podatkov Dataverse.
  2. Ročno pri uporabi zbirk.

Samodejno razvrščanje

Kadar je nabor podatkov izvorni nabor podatkov Dataverse, bo samodejno razvrščen, če je stolpec označen kot stolpec z možnostjo razvrščanja. Če se oblika zbirke Dataverse na kakršen koli način spremeni z uporabo AddColumn ali s shranjevanjem podatkov v zbirko, samodejno razvrščanje ne bo več delovalo, zato morate uporabiti ročno razvrščanje.

Ročno razvrščanje

Ročno razvrščanje je podprto zunaj komponente in omogoča podporo za priključke po meri ter lokalno razvrščanje zbirk, kadar povezava s storitvijo Dataverse ni vzpostavljena. Stolpce je mogoče opredeliti kot stolpce z možnostjo razvrščanja ali brez nje. Ko je izbrano razvrščanje stolpcev, se sproži dogodek OnChange, ki navaja stolpec in njegovo smer. Nato bi morala aplikacija s temi vrednosti zbirko povezati s tabelo, ki bo posodobljena z razvrščenimi zapisi.

  1. V zbirko Stolpci dodajte logični stolpec z možnostjo razvrščanja

  2. V lastnost Columns.ColSortable dodajte ime stolpca z možnostjo razvrščanja

  3. V dogodek OnChange za tabelo dodajte naslednjo kodo:

    If(Self.EventName="Sort", 
    UpdateContext({
                    ctxSortCol:Self.SortEventColumn,
                    ctxSortAsc:If(Self.SortEventDirection='PowerCAT.FluentDetailsList.SortEventDirection'.Ascending,true,false)
     })
    );
    
  4. Lastnost Sort Column nastavite na ctxSortCol

  5. Lastnost Sort Direction nastavite na:

    If(ctxSortAsc,
        'PowerCAT.FluentDetailsList.CurrentSortDirection'.Ascending,
        'PowerCAT.FluentDetailsList.CurrentSortDirection'.Descending) 
    
  6. Z uporabo spremenljivk konteksta, nastavljenih, kot je opisano zgoraj, nastavite zbirko vhodnih elementov za razvrščanje:

    SortByColumns(colData,ctxSortCol,If(ctxSortAsc,SortOrder.Ascending,SortOrder.Descending))
    

Ko se sproži dogodek OnChange, ko uporabnik v glavi stolpca izbere možnost spremembe razvrščanja, se spremenljivke konteksta razvrščanja posodobijo z uporabo novih navedenih informacij o razvrščanju, kar povzroči ponovno razvrščanje nabora vhodnih podatkov in ustrezno posodobitev tabele.

Ostranjevanje

Ostranjevanje se izvede znotraj komponente, vendar je treba v gostujoči aplikaciji ustvariti gumba za pomik nazaj/naprej in v komponento poslati dogodke.

Za upravljanje ostranjevanja se uporabljajo naslednje lastnosti:

  • PageSize – določa število zapisov, ki se naložijo na posamezni strani.
  • PageNumber – izpiše trenutno prikazano stran.
  • HasNextPage - Rezultati so resnični, če je naslednja stran.
  • HasPreviousPage - Rezultati so resnični, če obstaja prejšnja stran.
  • TotalRecords – izpiše skupno število razpoložljivih zapisov.

Nato lahko gumbe za ostranjevanje določite na naslednji način:

  • Naloži prvo stran
    • OnSelect: UpdateContext({ctxGridEvent:"LoadFirstPage" & Text(Rand())})
    • DisplayMode: If(grid.HasPreviousPage,DisplayMode.Edit,DisplayMode.Disabled)
  • Naloži prejšnjo stran
    • OnSelect: UpdateContext({ctxGridEvent:"LoadPreviousPage" & Text(Rand())})
    • DisplayMode: If(grid.HasPreviousPage,DisplayMode.Edit,DisplayMode.Disabled)
  • Naloži naslednjo stran
    • OnSelect: UpdateContext({ctxGridEvent:"LoadNextPage" & Text(Rand())})
    • DisplayMode: If(grid.HasNextPage,DisplayMode.Edit,DisplayMode.Disabled)

Število oznake zapisov lahko nato nastavite na izraz, ki je videti podobno kot tale:

grid.TotalRecords & " record(s)  " & Text(CountRows(grid.SelectedItems)+0) & " selected" 

Prikaz vrha naslednje strani

To se izvede z dogodkom 'SetFocusOnRow'. Če bi imeli vezano ctxGridEvent lastnost InputEvent, bi na naslednji strani gumba OnSelect uporabili to: UpdateContext({ctxGridEvent:"LoadNextPageSetFocusOnRow" & Text(Rand())});

Vhodni dogodki

Lastnost InputEvent lahko nastavite na eno ali več naslednjih vrednosti:

  • SetFocus – nastavi fokus na prvo vrstico mreže
  • ClearSelection – počisti vse izbore in povrne nastavitev na privzeti izbor.
  • SetSelection – izbor nastavi tako, kot določa stolpec RowSelected.
  • LoadNextPage - Naloži naslednjo stran, če obstaja
  • LoadPreviousPage - Naloži prejšnjo stran, če obstaja
  • LoadFirstPage – naloži prvo stran.

Da bo vhodni dogodek prevzet, morate v njegovo pripono dodatki naključno vrednost. Na primer SetSelection" & Text(Rand())

Za več podrobnosti glejte spodaj.

Izbrani elementi in dejanja vrstic

Komponenta podpira načine izbora Posamezno, Več ali Brez.

Lastnosti SelectedItems in Selected se pri izbiri elementov posodobita.

  • SelectedItems – če je tabela v načinu izbire »Več«, bo ta lastnost vsebovala en ali več zapisov iz zbirke elementov.
  • Selected – če je tabela v načinu izbire »Posamezno«, bo ta lastnost vsebovala izbrane zapise.

Ko uporabnik z dvoklikom, pritiskom tipke Enter ali pritiskom izbrane vrstice prikliče dejanje vrstice, se sproži dogodek OnSelect. Lastnost Selected bo vsebovala sklic na priklicani zapis. Ta dogodek omogoča prikaz podrobnega zapisa ali pomik na drug zaslon.

RaiseOnRowSelectionChangeEvent Če je lastnost omogočena, se ob spremembi OnChange izbranih vrstic dogodek dvigne z nastavitvijo EventName na OnRowSelectionChange. Če se mora aplikacija odzvati na izbiro ene vrstice in ne na dvoklik vrstice, lahko to zazna s kodo, OnChange podobno temu:

If(
    Self.EventName = "OnRowSelectionChange",
        If(!IsBlank(Self.EventRowKey),
        	// Row Selected
        )
);

Preklic trenutnega izbora elementov

Če želite preklicati izbor zapisov, morate nastaviti lastnost InputEvent na niz, ki se začne tako:

Na primer

UpdateContext({ctxTableEvent:"ClearSelection"&Text(Rand())})

Spremenljivko konteksta ctxTableEvent lahko nato omejite na lastnost InputEvent.

Nastavitev izbora vrstic

Če obstaja scenarij, v katerem bi moral biti določen nabor zapisov izbran programsko, InputEvent lahko lastnost nastavite na SetSelectionSetFocusOnRowSetSelection ali v kombinaciji z nastavitvijo RecordSelected lastnosti zapisa.

Na primer, če ste imeli nabor podatkov, kot sledi:

{RecordKey:1, RecordSelected:true, name:"Row1"}

Če želite izbrati in izbrati prvo vrstico, lahko nastavite InputEvent možnost biti "SetFocusOnRowSetSelection"&Text(Rand()) ali "SetSelection"&Text(Rand())

Konfiguracija načina delovanja »ob spremembi«

V lastnost OnChange dodajte in spremenite naslednjo formulo, da konfigurirate posebna dejanja, ki temeljijo na vrednosti EventName, ki jo zagotovi komponenta:

  • Sprožilni dogodki, ko uporabnik spremeni izbrano vrstico: v komponenti omogočite lastnost dogodka Raise OnRowSelectionChange.
  • Konfiguracija načina delovanja povezav: dodajte stolpce, v katerih je vrednost ColCellType nastavljena na link.
/* Runs when selected row changes and control property 'Raise OnRowSelection event' is true */
If( Self.EventName = "OnRowSelectionChange",
    Notify( "Row Select " & Self.EventRowKey )
);

/* Runs when a user selects a column with ColCellType set to 'link' */
If( Self.EventName = "CellAction",
    Notify( "Open Link " &  Self.EventColumn & " " & Self.EventRowKey )
)

Omejitve

Ta komponenta kode se lahko uporablja samo v aplikacijah s platnom in na straneh po meri.