获取SharePoint列表列

本文关键字:列表 SharePoint 获取 | 更新日期: 2023-09-27 18:17:32

我正在编程一个自定义字段类型,其中用户可以键入一个网站URL,选择一个网站并选择所选列表的一列。

我如何得到列表的列?

我现在试过的接缝工作,但我收到太多的数据。下面是我获取这些列的方法:

private void getColumnsOfSelectedList()
{
    DdlLookupFieldDataList.Items.Clear();
    if (!string.IsNullOrEmpty(LabelLookupFieldTargetURLText.Text))
    {
        //Get the lists of the site from the Site URL
        site = new SPSite(LabelLookupFieldTargetURLText.Text);
        SPWeb web = site.OpenWeb();
        foreach (SPList list in web.Lists)
        {
            if (list.Title == DdlLookupFieldTargetList.SelectedItem.Text)
                foreach (var item in list.Fields)
                    DdlLookupFieldDataList.Items.Add(item.ToString());
        }
    }
}

BR

获取SharePoint列表列

我将使用SPField.Title来显示该字段。根据受众的不同,显示SPField.InternalName也是有意义的。成员SPField.AuthoringInfo返回该字段的更多信息。这对于具有相同标题的字段非常有用。

<>之前标题标题(链接到带有编辑菜单的项目)标题(链接到项目)之前

括号中的文本来自创作信息字段。

更新:

list.Fields返回一个包含SPField对象的SPFieldCollection

foreach (SPField /* <-- */  field in list.Fields)
{
  DdlLookupFieldDataList.Items.Add(new ListItem(
    String.Format("{0} {1}", field.Title, field.AuthoringInfo), 
    field.InternalName));
}