Elemen antarmuka pengguna Microsoft.Common.EditableGrid
Kontrol untuk mengumpulkan input tabular. Semua bidang dalam kisi dapat diedit dan jumlah baris mungkin bervariasi.
Sampel UI
Skema
{
"name": "people",
"type": "Microsoft.Common.EditableGrid",
"ariaLabel": "Enter information per person",
"label": "People",
"constraints": {
"width": "Full",
"rows": {
"count": {
"min": 1,
"max": 10
}
},
"columns": [
{
"id": "colName",
"header": "Name",
"width": "1fr",
"element": {
"type": "Microsoft.Common.TextBox",
"placeholder": "Full name",
"constraints": {
"required": true,
"validations": [
{
"isValid": "[startsWith(last(take(steps('grid').people, $rowIndex)).colName, 'contoso')]",
"message": "Must start with 'contoso'."
},
{
"regex": "^[a-z0-9A-Z]{1,30}$",
"message": "Only alphanumeric characters are allowed, and the value must be 1-30 characters long."
}
]
}
}
},
{
"id": "colGender",
"header": "Gender",
"width": "1fr",
"element": {
"name": "dropDown1",
"type": "Microsoft.Common.DropDown",
"placeholder": "Select a gender...",
"constraints": {
"allowedValues": [
{
"label": "Female",
"value": "female"
},
{
"label": "Male",
"value": "male"
},
{
"label": "Other",
"value": "other"
}
],
"required": true
}
}
},
{
"id": "colContactPreference",
"header": "Contact preference",
"width": "1fr",
"element": {
"type": "Microsoft.Common.OptionsGroup",
"constraints": {
"allowedValues": [
{
"label": "Email",
"value": "email"
},
{
"label": "Text",
"value": "text"
}
],
"required": true
}
}
}
]
}
}
Sampel output
{
"colName": "contoso",
"colGender": "female",
"colContactPreference": "email"
}
Keterangan
Satu-satunya kontrol yang valid dalam array kolom adalah TextBox, OptionsGroup, dan DropDown.
Variabel
$rowIndex
hanya valid dalam ekspresi yang terkandung dalam anak kolom kisi. Ini adalah bilangan bulat yang mewakili indeks baris relatif elemen dan hitungannya dimulai pada satu dan bertambah satu per satu. Seperti yang ditunjukkan di bagian"columns":
skema, bagian$rowIndex
digunakan untuk validasi.Saat validasi dilakukan menggunakan variabel
$rowIndex
, nilai baris saat ini bisa didapatkan dengan menggabungkan perintahlast()
dantake()
.Contohnya:
last(take(<reference_to_grid>, $rowIndex))
Properti
label
tidak muncul sebagai bagian dari kontrol tetapi ditampilkan pada ringkasan tab akhir.Properti
ariaLabel
adalah label aksesibilitas untuk kisi. Menentukan teks bermanfaat bagi pengguna yang menggunakan pembaca layar.Properti
constraints.width
ini digunakan untuk mengatur lebar keseluruhan kisi. Pilihannya Penuh, Sedang, Kecil. Pilihan defaultnya adalah Penuh.Properti
width
pada anak-anak kolom menentukan lebar kolom. Lebar ditentukan menggunakan unit pecahan seperti 3fr, dengan total ruang dialokasikan ke kolom yang proporsional dengan unitnya. Jika tidak ada lebar kolom yang ditentukan, unit defaultnya adalah 1fr.
Langkah berikutnya
- Untuk pengantar mengenai cara membuat definisi antarmuka pengguna, lihat Mulai menggunakan CreateUiDefinition.
- Untuk deskripsi properti umum dalam elemen antarmuka pengguna, lihat elemen CreateUiDefinition.