C2017-003: Support SQL Server for storing of Referenced Object data

This commit is contained in:
2020-01-09 15:39:17 +00:00
parent 7fbc9e358d
commit de58331ffb
19 changed files with 5088 additions and 1230 deletions

View File

@@ -939,7 +939,7 @@ namespace RODBInterface
// First get the fields used for this Group.
string tmp=null; // needed for inuse call
ArrayList AvailList = myrodb.RODB_GetFields(this, 0);
ArrayList InUseList = myrodb.RODB_GetFieldsInUse(this, AvailList, "GroupFieldsInUse", ref tmp, true);
ArrayList InUseList = myrodb.RODB_GetFieldsInUse(this, AvailList, "GroupFieldsInUse", ref tmp, false);
// For each field, print the header (field name) & then print data if it exists.
if (InUseList != null)
@@ -1009,7 +1009,7 @@ namespace RODBInterface
// Get used fields for this RO.
string tmp=null; // needed for inuse call
ArrayList AvailList = myrodb.RODB_GetFields(this, 0);
ArrayList InUseList = myrodb.RODB_GetFieldsInUse(this, AvailList, "FieldsInUse", ref tmp, true);
ArrayList InUseList = myrodb.RODB_GetFieldsInUse(this, AvailList, "FieldsInUse", ref tmp, false);
// put out the stored headers, i.e. the group titles up the tree.
xmldoc.doHeader(headers);
@@ -1020,7 +1020,6 @@ namespace RODBInterface
xmldoc.writeRROBegin();
xmldoc.writeInt(8);
xmldoc.writeText(myrodb.MyDBID + MyROID);
Console.WriteLine("ROID={0}", myrodb.MyDBID + MyROID);
xmldoc.writeInt(7);
xmldoc.writeText(this.GetAttribute("AccPageID").Trim());
// add items to the InUseList box.
@@ -1111,6 +1110,7 @@ namespace RODBInterface
// ShowGroup processes the input group node for the complete report by
// using ShowGroupDetail to output data for the group and ShowRRO to
// output data for the RO
DateTime last = DateTime.Now; // use these to control status message output
private bool ShowGroup(RODB myrodb, ArrayList headers, VlnStatusMessage showStat)
{
XmlNode chldnode;
@@ -1154,9 +1154,9 @@ namespace RODBInterface
if (chldnode is VlnXmlElement)
{
VlnXmlElement elem = (VlnXmlElement) chldnode;
if (showStat !=null)
if (showStat != null)
showStat.StatusMessage = elem.InnerText;
// if it's a group, recurse through it.
if (chldnode.Name == "vlnGroup")
elem.ShowGroup(myrodb, headers, showStat);
@@ -1166,8 +1166,14 @@ namespace RODBInterface
int levelcnt = chldnode.ChildNodes.Count;
bool isParDisData = chldnode.Name == "Parameter__Display__Data";
string TheMenuTitle = elem.GetAttribute("MenuTitle");
if (showStat != null)
showStat.StatusMessage = TheMenuTitle;
if (showStat != null)
{
if (TimeSpan.FromTicks(DateTime.Now.Ticks - last.Ticks).Seconds > 1)
{
showStat.StatusMessage = TheMenuTitle;
last = DateTime.Now;
}
}
if (!isParDisData && ((levelcnt > 1) || (levelcnt==1 && !TheMenuTitle.Equals(""))))
elem.ShowRRO(myrodb, headers);
}