gpt4 book ai didi

sharepoint - 如何获取 SPFieldLookup 的所有可能值

转载 作者:行者123 更新时间:2023-12-04 02:17:22 26 4
gpt4 key购买 nike

我在 sharepoint 中有一个查找字段,它只引用另一个列表。我想知道如何以编程方式枚举该字段的所有可能值?例如,我的查找字段“实际城市”指的是列表“城市”和列“标题”,那里有 3 个城市。在代码中,我想获取字段“实际城市”的所有可能值的列表,类似于(元代码,抱歉):


SPFieldLookup f = myList["Actual City"];<br/>
Collection availableValues = f.GetAllPossibleValues();<br/>
//this should return collection with all cities a user might select for the field

最佳答案

前几天我为我的项目编写了一些代码来处理这个问题。也许它会有所帮助。

    public static List<SPFieldLookupValue> GetLookupFieldValues(SPList list, string fieldName)
{
var results = new List<SPFieldLookupValue>();
var field = list.Fields.GetField(fieldName);

if (field.Type != SPFieldType.Lookup) throw new SPException(String.Format("The field {0} is not a lookup field.", fieldName));

var lookupField = field as SPFieldLookup;
var lookupList = list.ParentWeb.Lists[Guid.Parse(lookupField.LookupList)];
var query = new SPQuery();

query.Query = String.Format("<OrderBy><FieldRef Name='{0}'/></OrderBy>", lookupField.LookupField);

foreach (SPListItem item in lookupList.GetItems(query))
{
results.Add(new SPFieldLookupValue(item.ID, item[lookupField.LookupField].ToString()));
}

return results;
}

然后要使用它,您的代码将如下所示:

        var list = SPContext.Current.Web.Lists["My List"];
var results = GetLookupFieldValues(list, "Actual City");

foreach (SPFieldLookupValue result in results)
{
var value = result.LookupValue;
var id = result.LookupId;
}

关于sharepoint - 如何获取 SPFieldLookup 的所有可能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com