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.
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 |
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
:
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).
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:
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:
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 obrobotagindicator
– 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 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/100x70icon:
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:
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
.
Povezave
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:
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:
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:
- Samodejno, ko je vzpostavljena povezava z virom podatkov Dataverse.
- 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.
V zbirko Stolpci dodajte logični stolpec z možnostjo razvrščanja
V lastnost
Columns.ColSortable
dodajte ime stolpca z možnostjo razvrščanjaV 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) }) );
Lastnost
Sort Column
nastavite nactxSortCol
Lastnost
Sort Direction
nastavite na:If(ctxSortAsc, 'PowerCAT.FluentDetailsList.CurrentSortDirection'.Ascending, 'PowerCAT.FluentDetailsList.CurrentSortDirection'.Descending)
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žeClearSelection
– počisti vse izbore in povrne nastavitev na privzeti izbor.SetSelection
– izbor nastavi tako, kot določa stolpecRowSelected
.LoadNextPage
- Naloži naslednjo stran, če obstajaLoadPreviousPage
- Naloži prejšnjo stran, če obstajaLoadFirstPage
– 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 SetSelection
SetFocusOnRowSetSelection
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.