Игнорировать; и добавить в таблицу данных - PullRequest
0 голосов
/ 14 сентября 2009

У меня есть список SharePoint в качестве источника данных, и данные в нем не очищены.

Я хочу отобразить столбец в раскрывающемся списке. Данные таковы:

  1. StackOverflow
  2. StackOverflow: XYZ
  3. StackOverflow; 123
  4. StackOverflow, ABC

Я хочу, чтобы "StackOverFlow" отображался в раскрывающемся списке. Как я могу игнорировать текст после любого символа и поместить его в таблицу данных?

Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 14 сентября 2009

Возможно, вам придется принудительно удалить символы-разделители самостоятельно. Похоже, эти разделители различаются между ":," ";," и ",."

Можно ли пропатчить ваш источник данных до назначения его в список SharePoint? В коде патча вы можете написать что-то вроде следующего:

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

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

Эта замена регулярного выражения эффективно удаляет весь текст после или после первой границы слова (точки, запятые и т. Д.)

Я понимаю, что это не идеальное решение, но оно работает.

0 голосов
/ 15 сентября 2009

Вот как я это сделал:

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();

Спасибо за поддержку !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...