我正在尝试将 SharePointSPListItem
转换ListItem
为放入下拉列表中。我的问题是 SharePoint 列表中的数据是这样存储的:
;#日光;#
;#设计;#员工敬业度;#
但显然这对我不起作用。我需要删除 ;# 符号,它应该很简单,String.Replace
但是我遇到一些问题的地方是我应该为包含多个选择的列表项做什么(我上面的第二个示例)。此处的最终目标是生成 SharePoint 列表中所有项目的下拉列表(不包含重复项)。有任何想法吗?
using (SPSite site = new SPSite(SPContext.Current.Web.Url.ToString()))
using (SPWeb oWebsiteRoot = site.OpenWeb())
{
SPList oList = oWebsiteRoot.Lists["WplData"];
SPListItemCollection items = null;
SPQuery query = new SPQuery();
query.Query = "<Where><IsNotNull><FieldRef Name='Topic' /></IsNotNull>" +
"</Where><OrderBy><FieldRef Name='Topic' Ascending='True' /></OrderBy>";
items = oList.GetItems(query);
DataTable tmpTable = new System.Data.DataTable();
tmpTable = items.GetDataTable();
DataView view = new DataView(tmpTable);
String[] columns = { "Topic" };
DataTable table = view.ToTable(true, columns);
foreach (DataRow row in table.Rows)
{
foreach (var item in row.ItemArray)
{
ListItem listItem = new ListItem();
listItem.Value = item.ToString();
listItem.Text = item.ToString();
TopicDropDownList.Items.Add(listItem);
}
}
}