كيفية الحصول على أسئلة برمجيا من استطلاع
-
29-09-2020 - |
سؤال
السؤال بسيط للغاية:
كيف يمكنني الحصول على قائمة الأسئلة من استطلاع?
المحلول
في Survey
قائمة السؤال هو حقل.من أجل تحديد ما إذا كان الحقل هو سؤال أو حقل عادي يمكنك الاستفادة منه SourceID
السمة ، في حالة الأسئلة قيمتها ليست http://schemas.microsoft.com/sharepoint/v3
:
/// <summary>
/// Get questions in Survey List
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static IEnumerable<SPField> GetSurveyQuestions(SPList list)
{
return (from SPField field in list.Fields
let fieldSchema = XElement.Parse(field.SchemaXml)
let sourceId = fieldSchema.Attribute("SourceID").Value
where sourceId != "http://schemas.microsoft.com/sharepoint/v3"
select field).ToList();
}
الاستخدام
using (var site = new SPSite(siteUrl))
{
using (var web = site.OpenWeb())
{
var list = web.Lists[surveyName];
var questions = GetSurveyQuestions(list);
//print questions
foreach (var question in questions)
{
Console.WriteLine(question.Title);
}
}
}
نصائح أخرى
الإجابة الوحيدة التي وجدتها الآن هي: التحقق من خاصية ShowinVersionHistory لكل حقل!
giveacodicetagpre.في حالتي، سيقوم هذا بطباعة جميع الأسئلة
هل هناك طريقة أفضل للقيام بذلك؟
لا تنتمي إلى sharepoint.stackexchange