string;#in dropdownlist

时间:2009-05-07 15:07:56

标签: sharepoint custom-controls

我制作了一个自定义的dropdownfield。我想显示我的联系人的全名。我创建了一个计算列,因为不是每个用户都填写了他们的全名,只有第一个和最后一个。如果我想在我的下拉列表中显示项目,总会有字符串;#在我的价值之前。有人知道如何删除它吗?

以下是填写我的下拉列表的代码

SPWeb web = site.OpenWeb(); 
SPDataSource dataSource = new SPDataSource(); 
dataSource.List = web.Lists["Contacts"];
this.testing.DataSource = dataSource; 
this.testing.DataTextField = "Full Name"; 
this.testing.DataValueField = "Full Name"; 
this.testing.DataBind();

THX

2 个答案:

答案 0 :(得分:2)

字段类型可能是“用户”(我认为在UI中显示为“人物”)。 SharePoint和其他查找字段始终以这种方式存储。值组件是用户ID,字符串组件是用户名。

您可以使用正则表达式来拆分组件。您还可以将值转换为SPFieldUserValue,这是“正确的”方式,并使用该类的属性来检索信息。

答案 1 :(得分:0)

假设全名是一个文本字段,看起来您的计算列定义中的错误与您的某个输入作为查找字段有关。

如果你无法以更清洁的方式摆脱它,那么总是存在substr(或许是正确的,我永远不会记住excel函数的语法)