From cfc324d31e808a18f6498cfb32e96eda9b11685c Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Thu, 30 Jul 2026 15:22:32 -0400 Subject: [PATCH] B2026-053-Find-Unlinked-Values-of-Selected --- .../Volian.Controls.Library/DisplaySearch.cs | 47 +++++++------------ 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/PROMS/Volian.Controls.Library/DisplaySearch.cs b/PROMS/Volian.Controls.Library/DisplaySearch.cs index 84b73d4d..3ddbe677 100644 --- a/PROMS/Volian.Controls.Library/DisplaySearch.cs +++ b/PROMS/Volian.Controls.Library/DisplaySearch.cs @@ -2016,20 +2016,17 @@ namespace Volian.Controls.Library { ReportTitle = string.Format("Search for '{0}'", TextSearchString); - // C2020-009: Search - Allow search 'By Word'. + string byWordPrefix = string.Empty; + string byWordSuffix = string.Empty; + if (cbxByWord.Checked) + { + byWordPrefix = GetByWordSettings(TextSearchString, true); + byWordSuffix = GetByWordSettings(TextSearchString, false); + } - //if (cbxByWord.Checked) - //{ - // // Generate a prefix & suffix to be used in the sql query around the search string. - // // If the search string starts (prefix)/ends(suffix) with a number, then use an expression that - // // does not allow the preceding/following text to have a number, '.', letter or other rtf - // // commands. If the search string starts/ends with a letter, then use an expression that does not - // // find the preceding/following text that is text, i.e. a letter. + SearchString = TextSearchString; - SearchString = TextSearchString; - - // B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results. - SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, GetByWordSettings(TextSearchString, true), GetByWordSettings(TextSearchString, false)); + SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix); cmbResultsStyleIndex = 3; // display step text in results //} @@ -2175,23 +2172,15 @@ namespace Volian.Controls.Library } private string GetByWordSettings(string ss, bool checkstart) { - //if (Regex.IsMatch(ss, @"^[\d\.]")) // starts with a number or '.' decimal pt - //{ - // settings.Add("byWordPrefix", @"[^0-9a-zA-Z.vbpi:\\-]"); - //} - //else if (Regex.IsMatch(ss, @"^[a-zA-Z]")) // starts with a letter - //{ - // settings.Add("byWordPrefix", @"[^a-zA-Z]"); - //} - //if (Regex.IsMatch(ss, @"^[\d\.]")) // ends with a number or decimal - //{ - // settings.Add("byWordSuffix", @"[^0-9a-zA-Z.vbpi:\\-]"); - //} - //else if (Regex.IsMatch(ss, @"[a-zA-Z]$")) // ends with a letter - //{ - // settings.Add("byWordSuffix", @"[^a-zA-Z]"); - //} - //return settings; + + // C2020-009: Search - Allow search 'By Word'. + + // // Generate a prefix & suffix to be used in the sql query around the search string. + // // If the search string starts (prefix)/ends(suffix) with a number, then use an expression that + // // does not allow the preceding/following text to have a number, '.', letter or other rtf + // // commands. If the search string starts/ends with a letter, then use an expression that does not + // // find the preceding/following text that is text, i.e. a letter. + if (ss.Length > 0) { //checking start