يعمل select_one_from_file وselect_multiple_from_file مثل select_one وselect_multiple، لكن بدلاً من تعريف الخيارات في ورقة عمل choices، يتم تحميل الخيارات من ملف CSV أو XML خارجي مرفق بالنموذج. هذا مفيد عندما تكون قائمة خياراتك طويلة جداً أو تتغير بشكل متكرر أو تحتاج إلى تحديثها دون إعادة بناء النموذج بأكمله.

مواصفة XLSForm الأساسية

typenamelabel
select_one_from_file health_facilities.csvfacilitySelect the health facility
select_multiple_from_file crops.csvcropsWhich crops does the household grow?

يجب أن يتطابق اسم الملف بعد اسم النوع مع اسم الملف الذي ترفقه عند تحميل النموذج.

تنسيق ملف CSV

يجب أن يحتوي ملف CSV على عمودين على الأقل: name (القيمة المخزنة) وlabel (النص المعروض). يمكنك إضافة أي عدد من الأعمدة الإضافية للتصفية.

health_facilities.csv:

  name,label,district,type
HF001,Nairobi Central Clinic,Nairobi,clinic
HF002,Westlands Health Centre,Nairobi,health_centre
  

تصفية الخيارات

استخدم عمود choice_filter لعرض الخيارات التي تتطابق مع السياق الحالي فقط:

typenamelabelchoice_filter
select_one districts.csvdistrictSelect district
select_one_from_file health_facilities.csvfacilitySelect facilitydistrict = ${district}

أفضل الممارسات

  1. اجعل ملفات CSV أقل من 5000 صف للأداء الجيد على الأجهزة المحمولة.
  2. أدرج دائماً عمود name وlabel — الأعمدة الإضافية اختيارية.
  3. لاختيارات السقوط المتتالية، استخدم ملف CSV واحد مع عمود أصل وصفّه بـ choice_filter.

القيود

  • يمكن لملفات CSV الكبيرة جداً (أكثر من 10000 صف) إبطاء تحميل النموذج.
  • يجب تحميل ملفات CSV مع النموذج — لا يمكن جلبها من URL في وقت التشغيل.
هل كانت هذه الصفحة مفيدة؟