2009-09-14 30 views
0

我有一个SharePoint列表作为数据源,其中的数据未被清理。忽略;并添加到数据表

我想在下拉列表中显示一列。的数据是这样的:

  1. 计算器
  2. 计算器:XYZ
  3. 计算器; 123
  4. 计算器,ABC

我想要的 “计算器” 将被显示在下拉。如何忽略任何符号后面的文本并将其放入数据表中?

请帮忙。

回答

2

您可能不得不自己强行删除分隔符。看起来这些分隔符在“:”,“;”和“,”之间有所不同。

在将数据源分配给SharePoint列表之前是否可以修补数据源?在补丁代码,您可以编写类似如下:

Regex exp = new Regex("^(.+?)\b.*$", RegexOptions.Compiled); 

DataRow[col] = exp.Replace(Convert.ToString(DataRow[col]), "$1"); 

此正则表达式替换有效地消除或第一个字边界之后的所有文本(句号,逗号等)

这不是一个我意识到完美的解决方案,但它确实有效。

0

这是我怎么做的:

ArrayList values = new ArrayList(); 
foreach (DataRow dr in Dt.Rows) 
{ 
    string delimStr = ",.:;"; 
    char[] delimiter = delimStr.ToCharArray(); 
    string origString = dr["Title"].ToString(); 
    string[] cleansedString = origString .Split(delimiter); 
    string Str= cleansedString [0]; 
    if (!values.Contains(Str)) 
    { 
     values.Add(Str); 
    } 
} 
values.Sort(); 
ddList.DataSource = values; 
ddList.DataBind(); 

谢谢大家的支持!