示例#1
0
/*====================================================*/

        public void WriteDataObjectList(StringBuilder aTable, cDataObjectList aDataObjectList)
        {
            bool anAltRow = false;

            for (int i = 0; i < aDataObjectList.Count; i++)
            {
                cDataObject aDataObject = aDataObjectList[i];
                if (anAltRow)
                {
                    aTable.Append("<tr bgColor='" + RowBgColor + "' class='" + RowClass + "'>");
                    anAltRow = false;
                }
                else
                {
                    aTable.Append("<tr bgColor='" + AltRowBgColor + "' class='" + AltRowClass + "'>");
                    anAltRow = true;
                }
                foreach (XmlNode aDisplayPropertyNode in AdHocQueryDefXMLDoc.DocElement.SelectNodes("DisplayProperties/DisplayProperty"))
                {
                    String aPropertyKey;
                    aPropertyKey = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey");
                    aTable.Append("<td>" + aDataObject.GetAliased_RelatedPropertyDefaultFormattedString(aPropertyKey) + "</td>");                     //PL 12/17/03
                    aTable.Append("<td width='10'>&nbsp;</td>");
                }
                aTable.Append("</tr>");
            }
        }
示例#2
0
/*====================================================*/

        private void RenderOutputByGroupField(HtmlTextWriter aTxtWr)
        {
            XmlNode         aSavedQueryDataObjectNode, aDataProviderInfoNode;
            XmlNodeList     aDisplayPropertyNodeList;
            string          aColHeader, aMsg, aGroupByField;
            cDataObjectList aDataObjectList, aGrpDOL, aNullGrpDOL;
            StringBuilder   aTable     = new StringBuilder();
            Hashtable       aGrpByHash = new Hashtable();
            int             aRowCount;

            aNullGrpDOL = null;

            aSavedQueryDataObjectNode = AdHocQueryDefXMLDoc.DocElement;
            aGroupByField             = cXMLDoc.AttributeToString(aSavedQueryDataObjectNode, "GroupBy");

            //Write column headers
            aDisplayPropertyNodeList = aSavedQueryDataObjectNode.SelectNodes("DisplayProperties/DisplayProperty");
            aTable.Append("<table border='0' cellspacing='0' cellpadding='0'> " +
                          "<tr bgColor='" + HeadBgColor + "' class='" + HeadClass + "'>");

            foreach (XmlNode aDisplayPropertyNode in aDisplayPropertyNodeList)
            {
                aColHeader = cXMLDoc.AttributeToString(aDisplayPropertyNode, "ColumnHeader");
                if (aColHeader == "")
                {
                    aColHeader = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey");
                }

                aTable.Append("<td>" + aColHeader + "</td>");
                aTable.Append("<td width='10'>&nbsp;</td>");
            }


            aTable.Append("</tr>");

            //Get data from data object node
            try {
                aDataObjectList = CorePage.WebSession.DataObjectFactory.GetDataObjectList(aSavedQueryDataObjectNode);
            }
            catch (Exception aExc) {
                aMsg = "<br><b>ERROR</b><br><br>" + aExc.Message + "<br><br>";
                aTxtWr.Write(aMsg);
                return;
            }
            aRowCount = aDataObjectList.Count;
            int i;

            //Write out data to table
            //foreach (cDataObject aDataObject in aDataObjectList) {
            for (i = 0; i < aDataObjectList.Count; i++)
            {
                cDataObject aDataObject = aDataObjectList[i];
                foreach (XmlNode aDisplayPropertyNode in aDisplayPropertyNodeList)
                {
                    String aPropertyKey;
                    //aPropertyKey = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey").Replace(".", "_"); //PL 12/17/03
                    aPropertyKey = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey");
                    String aPropKeyVal = aDataObject.GetAliased_RelatedPropertyDefaultFormattedString(aPropertyKey);
                    if (aGroupByField.Equals(aPropertyKey))
                    {
                        if (aPropKeyVal == "")
                        {
                            if (aNullGrpDOL == null)
                            {
                                aNullGrpDOL = new cDataObjectList(aDataObject.DataObjectFactory);
                            }
                            aNullGrpDOL.Add(aDataObject);
                        }
                        else
                        {
                            if (aGrpByHash.Contains(aPropKeyVal))
                            {
                                aGrpDOL = (cDataObjectList)aGrpByHash[aPropKeyVal];
                                aGrpDOL.Add(aDataObject);
                            }
                            else
                            {
                                aGrpDOL = new cDataObjectList(aDataObject.DataObjectFactory);
                                aGrpDOL.Add(aDataObject);

                                aGrpByHash.Add(aPropKeyVal, aGrpDOL);
                            }
                        }
                    }
                }
            }
            //when the group by field is not in the selected field list
            if (aDataObjectList.Count > 0 && aGrpByHash.Count < 1 && aNullGrpDOL == null)
            {
                RenderOutput(aTxtWr);
                return;
            }

            foreach (DictionaryEntry aEntry in aGrpByHash)
            {
                //Printing the Group By Field
                aTable.Append("<tr bgColor='" + HeadBgColor + "' class='" + RowClass + "'>");
                aTable.Append("<td colspan='" + (aDisplayPropertyNodeList.Count * 2) + "'>&nbsp;</td>");
                aTable.Append("</tr>");
                aTable.Append("<tr bgColor='" + HeadBgColor + "' class='" + RowClass + "'>");
                aTable.Append("<td colspan='" + (aDisplayPropertyNodeList.Count * 2) + "'><B>" + aEntry.Key + "</B></td>");         //PL 12/17/03
                aTable.Append("</tr>");

                aDataObjectList = (cDataObjectList)aEntry.Value;
                WriteDataObjectList(aTable, aDataObjectList);
            }

            //Write out the rows that have no values for the Group By field
            if (aNullGrpDOL != null)
            {
                aTable.Append("<tr bgColor='" + HeadBgColor + "' class='" + RowClass + "'>");
                aTable.Append("<td colspan='" + (aDisplayPropertyNodeList.Count * 2) + "'>&nbsp;</td>");
                aTable.Append("</tr>");
                WriteDataObjectList(aTable, aNullGrpDOL);
                aTable.Append("</table>");
            }

            aTable.Append("<table border='0' cellspacing='0' cellpadding='0'> ");

            //Write out record count
            aMsg = "<br><br>Row Count: " + aRowCount;
            aTable.Append("<tr><td>" + aMsg + "</td></tr>");

            //Write out SQL
            aDataProviderInfoNode = aSavedQueryDataObjectNode.SelectSingleNode("DataProviderInfo");
            aMsg = "<br><br>SQL: " + aDataProviderInfoNode.InnerText;
            aTable.Append("<tr><td>" + aMsg + "</td></tr>");

            aTable.Append("</table>");

            aTxtWr.Write(aTable.ToString());
        }
示例#3
0
/*====================================================*/

        private void RenderOutput(HtmlTextWriter aTxtWr)
        {
            XmlNode         aSavedQueryDataObjectNode, aDataProviderInfoNode;
            XmlNodeList     aDisplayPropertyNodeList;
            string          aColHeader, aMsg;
            cDataObjectList aDataObjectList;
            bool            anAltRow = false;
            StringBuilder   aTable   = new StringBuilder();


            aSavedQueryDataObjectNode = AdHocQueryDefXMLDoc.DocElement;

            //Write column headers
            aDisplayPropertyNodeList = aSavedQueryDataObjectNode.SelectNodes("DisplayProperties/DisplayProperty");
            aTable.Append("<table border='0' cellspacing='0' cellpadding='0'> " +
                          "<tr bgColor='" + HeadBgColor + "' class='" + HeadClass + "'>");

            foreach (XmlNode aDisplayPropertyNode in aDisplayPropertyNodeList)
            {
                aColHeader = cXMLDoc.AttributeToString(aDisplayPropertyNode, "ColumnHeader");
                if (aColHeader == "")
                {
                    aColHeader = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey");
                }

                aTable.Append("<td>" + aColHeader + "</td>");
                aTable.Append("<td width='10'>&nbsp;</td>");
            }


            aTable.Append("</tr>");

            //Get data from data object node
            try {
                aDataObjectList = CorePage.WebSession.DataObjectFactory.GetDataObjectList(aSavedQueryDataObjectNode);
            }
            catch (Exception aExc) {
                aMsg = "<br><b>ERROR</b><br><br>" + aExc.Message + "<br><br>";
                aTxtWr.Write(aMsg);
                return;
            }
            int i;

            //Write out data to table
            //foreach (cDataObject aDataObject in aDataObjectList) {
            for (i = 0; i < aDataObjectList.Count; i++)
            {
                cDataObject aDataObject = aDataObjectList[i];
                if (anAltRow)
                {
                    aTable.Append("<tr bgColor='" + RowBgColor + "' class='" + RowClass + "'>");
                    anAltRow = false;
                }
                else
                {
                    aTable.Append("<tr bgColor='" + AltRowBgColor + "' class='" + AltRowClass + "'>");
                    anAltRow = true;
                }
                foreach (XmlNode aDisplayPropertyNode in aDisplayPropertyNodeList)
                {
                    String aPropertyKey;
                    //aPropertyKey = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey").Replace(".", "_"); //PL 12/17/03
                    aPropertyKey = cXMLDoc.AttributeToString(aDisplayPropertyNode, "PropertyKey");
                    aTable.Append("<td>" + aDataObject.GetAliased_RelatedPropertyDefaultFormattedString(aPropertyKey) + "</td>");             //PL 12/17/03
                    aTable.Append("<td width='10'>&nbsp;</td>");
                }
                aTable.Append("</tr>");
            }
            aTable.Append("</table>");

            //aTxtWr.Write(aTable.ToString());

            aTable.Append("<table border='0' cellspacing='0' cellpadding='0'> ");

            //Write out record count
            aMsg = "<br><br>Row Count: " + aDataObjectList.Count.ToString();
            aTable.Append("<tr><td>" + aMsg + "</td></tr>");

            //aTxtWr.Write(aMsg);


            //Write out SQL if mSQLDisplayMode is not "Hide"
            if (SQLDisplayMode != "Hide")
            {
                aDataProviderInfoNode = aSavedQueryDataObjectNode.SelectSingleNode("DataProviderInfo");
                aMsg = "<br><br>SQL: " + aDataProviderInfoNode.InnerText;
                if (SQLDisplayMode == "Display")
                {
                    aTable.Append("<tr><td>" + aMsg + "</td></tr>");
                }
                else if (SQLDisplayMode == "HtmlComment")
                {
                    aTable.Append("<tr><td><!--" + aMsg + "--></td></tr>");
                }
            }
            //aTxtWr.Write(aMsg);

            aTable.Append("</table>");

            aTxtWr.Write(aTable.ToString());
        }