Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bc9407f52f | |||
| 954cc5918f | |||
| 4ef16e7856 | |||
| 1eb3c3e725 | |||
| a89c2d3d22 | |||
| 914837a5a2 | |||
| aa7e0528f8 | |||
| 57bd8d569e | |||
| b49d8871a2 | |||
| b90d419bc5 | |||
| 1f48d498e1 | |||
| da6139c932 | |||
| be744b40a3 | |||
| 780ce657ca | |||
| 464be0f803 | |||
| 58a6cb9a24 | |||
| 9bf7b2ffde | |||
| cde1f28215 | |||
| db198cb7d0 | |||
| 99fe567e78 | |||
| 2261c8f0f5 | |||
| f93b16fc52 | |||
| 7c3a43749c | |||
| ecec7b9f1a | |||
| 1aca7335f7 | |||
| ba5aee6640 | |||
| abaf55e9b1 | |||
| 3a2dd0b0aa | |||
| 0fed1acfd8 | |||
| d7c2300021 | |||
| fca333299d | |||
| a13b03a136 | |||
| 48054f5bf1 | |||
| 51f2897a33 | |||
| 7a3a07b0da | |||
| 7c3cfca86c | |||
| 05ab48cdc5 | |||
| fd51c209a3 |
Binary file not shown.
Binary file not shown.
@@ -5547,6 +5547,12 @@ ELSE PRINT 'Function: ve_GetItemDerivedApplicability Error on Creation'
|
|||||||
GO
|
GO
|
||||||
|
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Matthew Schill
|
||||||
|
-- Modify date: 07/14/2026
|
||||||
|
-- Description: Reworked ve_GetParentItem for Performance improvement
|
||||||
|
-- =============================================
|
||||||
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
|
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||||
DROP FUNCTION [ve_GetParentItem];
|
DROP FUNCTION [ve_GetParentItem];
|
||||||
@@ -5555,35 +5561,46 @@ GO
|
|||||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
CREATE FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
|
CREATE OR ALTER FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
|
||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE @ParentID int;
|
DECLARE @ParentID int;
|
||||||
WITH Itemz([ItemID],[IsFound]) as
|
WITH Itemz([ItemID]) as
|
||||||
(
|
(
|
||||||
select ii.itemid,0 from items ii where ii.itemid = @ItemID
|
select ii.itemid from items ii WITH (NOLOCK) where ii.itemid = @ItemID
|
||||||
union all
|
union all
|
||||||
select ii.previousid,0 from items ii
|
select ii.previousid from items ii WITH (NOLOCK)
|
||||||
join itemz zz on ii.itemid = zz.itemid
|
join itemz zz on ii.itemid = zz.itemid
|
||||||
where ii.previousid is not null
|
where ii.previousid is not null
|
||||||
and zz.isfound = 0
|
|
||||||
union all
|
|
||||||
select ii.itemid,1
|
|
||||||
from parts pp
|
|
||||||
join itemz zz on pp.itemid = zz.itemid
|
|
||||||
join items ii on ii.contentid = pp.contentid
|
|
||||||
)
|
)
|
||||||
select top 1 @ParentID = itemid from itemz
|
select top 1 @ParentID = ii.itemid
|
||||||
where isfound = 1 OPTION (MAXRECURSION 10000)
|
from itemz
|
||||||
|
inner join parts pp WITH (NOLOCK) on pp.itemid = itemz.itemid
|
||||||
|
inner join items ii WITH (NOLOCK) on ii.contentid = pp.contentid
|
||||||
|
OPTION (MAXRECURSION 10000)
|
||||||
|
|
||||||
RETURN @ParentID
|
RETURN @ParentID
|
||||||
END
|
END
|
||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
||||||
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
||||||
go
|
go
|
||||||
|
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysIndexes WHERE name like 'IX_PartsItemID')
|
||||||
|
DROP INDEX [IX_PartsItemID] ON [dbo].[tblParts];
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE NONCLUSTERED INDEX IX_PartsItemID
|
||||||
|
ON [dbo].[tblParts] ([ItemID] ASC)
|
||||||
|
INCLUDE([ContentID],[DeleteStatus],[FromType]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
GO
|
||||||
|
|
||||||
|
PRINT 'Added IX_PartsItemID Index. Speeds up Getting Parent Items'
|
||||||
|
GO
|
||||||
|
|
||||||
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
|
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||||
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
||||||
@@ -25051,8 +25068,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '06/29/2026 7:00 AM'
|
set @RevDate = '07/16/2026 8:30 AM'
|
||||||
set @RevDescription = 'Update to Grid Deletion Audits'
|
set @RevDescription = 'Reworked ve_GetParentItem for Performance improvement'
|
||||||
|
|
||||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||||
|
|||||||
@@ -2148,7 +2148,7 @@ namespace VEPROMS
|
|||||||
//C2019-036 View Only mode work with Checked Out Procedures
|
//C2019-036 View Only mode work with Checked Out Procedures
|
||||||
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
||||||
// This will keep those tabs from auto-closing based on the timer
|
// This will keep those tabs from auto-closing based on the timer
|
||||||
if (!myList.Contains(dti.OwnerID) && dti.MyStepTabPanel.MyStepPanel.VwMode != E_ViewMode.View)
|
if (!myList.Contains(dti.OwnerID) && dti?.MyStepTabPanel?.MyStepPanel?.VwMode != E_ViewMode.View)
|
||||||
{
|
{
|
||||||
MyCloseTabList.PushDTI(dti);
|
MyCloseTabList.PushDTI(dti);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,8 +262,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
||||||
{
|
{
|
||||||
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
||||||
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
|
||||||
}
|
}
|
||||||
|
// B2026-066 moved this out of if statement above
|
||||||
|
// - was not resetting the datetime and thus not disabling the Update RO Values button and menu item
|
||||||
|
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,6 +328,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// all of the calls aways set the flags to not update the RO values
|
// all of the calls aways set the flags to not update the RO values
|
||||||
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
|
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
|
||||||
{
|
{
|
||||||
|
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||||
|
|
||||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||||
|
|
||||||
int origFSTid = origROFst.ROFstID;
|
int origFSTid = origROFst.ROFstID;
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace VEPROMS.CSLA.Library
|
||||||
|
{
|
||||||
|
public static class ROWorkingDraftAsk
|
||||||
|
{
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private static List<int> WorkingDrafts = new List<int>();
|
||||||
|
|
||||||
|
public static void AddWorkingDrafts(int wd) => WorkingDrafts.Add(wd);
|
||||||
|
|
||||||
|
public static void ClearWorkingDrafts() => WorkingDrafts.Clear();
|
||||||
|
|
||||||
|
public static bool ContainsWorkingDraft(int wd) => WorkingDrafts.Contains(wd);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -396,6 +396,7 @@
|
|||||||
<Compile Include="Minimal\UserReports.cs" />
|
<Compile Include="Minimal\UserReports.cs" />
|
||||||
<Compile Include="Minimal\UserSettings.cs" />
|
<Compile Include="Minimal\UserSettings.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Session\ROWorkingDraftAsk.cs" />
|
||||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||||
<Compile Include="VEObjects\VETreeNode.cs" />
|
<Compile Include="VEObjects\VETreeNode.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -613,8 +613,16 @@ namespace Volian.Controls.Library
|
|||||||
_In_DSOTabPanel_Enter = false;
|
_In_DSOTabPanel_Enter = false;
|
||||||
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
||||||
// B2018-070 Position the text cursor - Activate MS Word Panel
|
// B2018-070 Position the text cursor - Activate MS Word Panel
|
||||||
|
try
|
||||||
|
{
|
||||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//B2026-067 - Do nothing if cannot Position cursor
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
private bool _IsBeingDeleted = false;
|
private bool _IsBeingDeleted = false;
|
||||||
|
|||||||
@@ -652,7 +652,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
//do nothing - is still checked out
|
//do nothing - is still checked out
|
||||||
}
|
}
|
||||||
else if (changedDocVersion && !askedAboutchangedDocVersion)
|
else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
|
||||||
{
|
{
|
||||||
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
@@ -671,10 +671,13 @@ namespace Volian.Controls.Library
|
|||||||
updatedROs = true;
|
updatedROs = true;
|
||||||
|
|
||||||
askedAboutchangedDocVersion = false;
|
askedAboutchangedDocVersion = false;
|
||||||
|
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
askedAboutchangedDocVersion = true;
|
askedAboutchangedDocVersion = true;
|
||||||
|
if (!ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
|
||||||
|
ROWorkingDraftAsk.AddWorkingDrafts(_docVersionInfo.VersionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2017,35 +2017,21 @@ namespace Volian.Controls.Library
|
|||||||
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
||||||
|
|
||||||
// C2020-009: Search - Allow search 'By Word'.
|
// C2020-009: Search - Allow search 'By Word'.
|
||||||
string byWordPrefix = string.Empty;
|
|
||||||
string byWordSuffix = string.Empty;
|
//if (cbxByWord.Checked)
|
||||||
if (cbxByWord.Checked)
|
//{
|
||||||
{
|
// // Generate a prefix & suffix to be used in the sql query around the search string.
|
||||||
// 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
|
||||||
// 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
|
||||||
// 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
|
||||||
// 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.
|
||||||
// find the preceding/following text that is text, i.e. a letter.
|
|
||||||
if (Regex.IsMatch(TextSearchString, @"^[\d\.]")) // starts with a number or '.' decimal pt
|
|
||||||
{
|
|
||||||
byWordPrefix = @"[^0-9a-zA-Z.vbpi:\\-]";
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(TextSearchString, @"^[a-zA-Z]")) // starts with a letter
|
|
||||||
{
|
|
||||||
byWordPrefix = @"[^a-zA-Z]";
|
|
||||||
}
|
|
||||||
if (Regex.IsMatch(TextSearchString, @"[\d\.]$")) // ends with a number or decimal
|
|
||||||
{
|
|
||||||
byWordSuffix = @"[^0-9a-zA-Z.vbpi:\\-]";
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(TextSearchString, @"[a-zA-Z]$")) // ends with a letter
|
|
||||||
{
|
|
||||||
byWordSuffix = @"[^a-zA-Z]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SearchString = TextSearchString;
|
SearchString = TextSearchString;
|
||||||
|
|
||||||
|
Dictionary<string, string> rtnByWord = GetByWordSettings(TextSearchString);
|
||||||
|
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
// 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, byWordPrefix, byWordSuffix);
|
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, rtnByWord["byWordPrefix"], rtnByWord["byWordSuffix"]);
|
||||||
|
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
//}
|
//}
|
||||||
@@ -2078,8 +2064,10 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
|
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
|
||||||
{
|
{
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
|
||||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty);
|
Dictionary<string, string> rtnByWord = GetByWordSettings(ROSearchList);
|
||||||
|
|
||||||
|
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, rtnByWord["byWordPrefix"], rtnByWord["byWordSuffix"]);
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -2189,7 +2177,28 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
|
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
|
||||||
}
|
}
|
||||||
|
private Dictionary<string, string> GetByWordSettings(string ss)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> settings = new Dictionary<string, string>();
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
|
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
|
||||||
{
|
{
|
||||||
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
|
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
|
||||||
|
|||||||
Reference in New Issue
Block a user