2009-09-14 28 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(); 

謝謝大家的支持!