Ejemplo n.º 1
0
        public ArtDevField CreateFieldCurrency(string Name)
        {
            SPFieldCurrency Field       = NewOrRefCurrency(Name);
            ArtDevField     ArtDevField = new ArtDevField(Field);

            return(ArtDevField);
        }
Ejemplo n.º 2
0
        public SPFieldCurrency NewOrRefCurrency(string Name)
        {
            string          CurrencyName  = this.Web().Fields.ContainsField(Name) ? Name : this.Web().Fields.Add(Name, SPFieldType.Currency, false);
            SPFieldCurrency CurrencyField = (SPFieldCurrency)this.Web().Fields.GetFieldByInternalName(CurrencyName);

            CurrencyField.Group = this.columnGroup;
            return(CurrencyField);
        }
Ejemplo n.º 3
0
        public static string FormatValueAsText(this SPFieldCalculated calcField, string rawValue)
        {
            string      result         = rawValue;
            CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

            switch (calcField.OutputType)
            {
            case SPFieldType.Number:
                try
                {
                    var numberValue = Convert.ToDouble(rawValue);
                    result = SPFieldNumber.GetFieldValueAsText(numberValue, currentCulture, calcField.ShowAsPercentage, calcField.DisplayFormat);
                }
                catch { result = string.Empty; }
                break;

            case SPFieldType.DateTime:
                try
                {
                    var dateValue = Convert.ToDateTime(rawValue);
                    result = SPFieldDateTime.GetFieldValueAsText(dateValue, SPContext.Current.Web, calcField.DateFormat == SPDateTimeFieldFormatType.DateTime ? SPDateFormat.DateTime : SPDateFormat.DateOnly);
                }
                catch { result = string.Empty; }
                break;

            case SPFieldType.Currency:
                try
                {
                    double data = Convert.ToDouble(rawValue, CultureInfo.InvariantCulture);
                    result = SPFieldCurrency.GetFieldValueAsText(data, currentCulture, calcField.CurrencyLocaleId, calcField.DisplayFormat);
                }
                catch { result = string.Empty; }
                break;

            case SPFieldType.Boolean:
                try
                {
                    result = Convert.ToBoolean(Convert.ToByte(rawValue)).ToString();
                }
                catch { }
                break;

            default:
                break;
            }
            return(result);
        }
Ejemplo n.º 4
0
        private void SetListFormFields(Control canvas)
        {
            List <DesignDataSource> sources = new List <DesignDataSource>();

            if (!string.IsNullOrEmpty(DataSourcesData))
            {
                sources = Utilities.DeserializeObject <List <DesignDataSource> >(DataSourcesData);
            }

            if (inEditMode)
            {
            }
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                SPSite site = SPContext.Current.Site;

                foreach (DesignDataSource source in sources)
                {
                    SPWeb web   = site.OpenWeb(new Guid(source.WebId));
                    SPList list = web.Lists[new Guid(source.ListId)];
                    SPView view = list.GetView(new Guid(source.ViewId));
                    SPViewFieldCollection viewfields = view.ViewFields;

                    foreach (var viewfield in viewfields)
                    {
                        if (list.Fields.ContainsField(viewfield.ToString()))
                        {
                            try
                            {
                                string fieldname = viewfield.ToString().Replace("_x0020_", " ");
                                SPField field    = list.Fields.GetField(fieldname);
                                FormField fld    = new FormField();

                                if (inEditMode && Page.IsPostBack)
                                //if (DesignMode)// && Page.IsPostBack)
                                {
                                    fld.ControlMode = SPControlMode.Display;
                                }
                                else
                                {
                                    fld.ControlMode = SPControlMode.New;
                                }

                                //fld.ControlMode = SPControlMode.New;

                                fld.ListId    = list.ID;
                                fld.FieldName = field.InternalName;
                                fld.ID        = field.InternalName;
                                fld.DisableInputFieldLabel = true;

                                fld.InDesign = inEditMode;
                                fld.IsValid  = inEditMode;

                                try
                                {
                                    if (!string.IsNullOrEmpty(field.DefaultValue))
                                    {
                                        if (field.FieldValueType == typeof(Boolean))
                                        {
                                            bool isbool         = false;
                                            fld.Value           = (Boolean.TryParse(field.DefaultValue, out isbool));
                                            fld.InputFieldLabel = string.Empty;
                                        }
                                        else
                                        {
                                            fld.Value = field.DefaultValue;
                                        }
                                    }
                                }
                                catch (Exception)
                                {
                                }

                                canvas.Controls.Add(fld);

                                if (field.Required)
                                {
                                    InputFormRequiredFieldValidator required = new InputFormRequiredFieldValidator();
                                    required.ID = "required_" + fld.ClientID;
                                    required.ControlToValidate = fld.ClientID;
                                    required.ValidationGroup   = fld.ClientID;
                                    required.ErrorMessage      = field.ValidationMessage;
                                    //required.EnableClientScript = true;
                                    required.BreakAfter  = true;
                                    required.BreakBefore = false;
                                    required.Display     = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
                                    canvas.Controls.Add(required);
                                }

                                if (field.Type == SPFieldType.Number)
                                {
                                    SPFieldNumber Number = (SPFieldNumber)field;
                                    if (Number.MinimumValue != Double.MinValue && Number.MaximumValue != Double.MaxValue)
                                    {
                                        InputFormRangeValidator range = new InputFormRangeValidator();
                                        range.ID = "range_" + fld.ClientID;
                                        range.ControlToValidate = fld.ClientID;
                                        range.ValidationGroup   = fld.ClientID;
                                        range.ErrorMessage      = field.ValidationMessage;
                                        //range.EnableClientScript = true;
                                        range.BreakAfter   = true;
                                        range.BreakBefore  = false;
                                        range.Display      = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
                                        range.MaximumValue = Number.MaximumValue.ToString();
                                        range.MinimumValue = Number.MinimumValue.ToString();
                                        range.Type         = System.Web.UI.WebControls.ValidationDataType.Double;
                                        canvas.Controls.Add(range);
                                    }
                                }

                                if (field.Type == SPFieldType.Currency)
                                {
                                    SPFieldCurrency Currency = (SPFieldCurrency)field;
                                    if (Currency.MaximumValue != Double.MaxValue && Currency.MinimumValue != Double.MinValue)
                                    {
                                        InputFormRangeValidator range = new InputFormRangeValidator();
                                        range.ID = "range_" + fld.ClientID;
                                        range.ControlToValidate = fld.ClientID;
                                        range.ValidationGroup   = fld.ClientID;
                                        range.ErrorMessage      = field.ValidationMessage;
                                        //range.EnableClientScript = true;
                                        range.BreakAfter   = true;
                                        range.BreakBefore  = false;
                                        range.Display      = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
                                        range.MaximumValue = Currency.MaximumValue.ToString();
                                        range.MinimumValue = Currency.MinimumValue.ToString();
                                        range.Type         = System.Web.UI.WebControls.ValidationDataType.Currency;
                                        canvas.Controls.Add(range);
                                    }
                                }

                                if (!string.IsNullOrEmpty(field.ValidationFormula))
                                {
                                    InputFormRegularExpressionValidator regex = new InputFormRegularExpressionValidator();
                                    regex.ControlToValidate = fld.ClientID;
                                    regex.ValidationGroup   = fld.ClientID;
                                    regex.ErrorMessage      = fld.ErrorMessage;
                                    regex.ErrorMessage      = field.ValidationMessage;
                                    //regex.EnableClientScript = true;
                                    regex.BreakAfter           = true;
                                    regex.BreakBefore          = false;
                                    regex.Display              = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
                                    regex.ValidationExpression = field.ValidationFormula;
                                    canvas.Controls.Add(regex);
                                }

                                /*
                                 * if (field.Type == SPFieldType.MultiChoice)
                                 * {
                                 *  InputFormCheckBoxListValidator checkboxes = new InputFormCheckBoxListValidator();
                                 *  //SPFieldMultiChoice choice = (SPFieldMultiChoice)field;
                                 *  checkboxes.ControlToValidate = fld.ClientID;
                                 *  checkboxes.ValidationGroup = fld.ClientID;
                                 *  checkboxes.ErrorMessage = fld.ErrorMessage;
                                 *  checkboxes.EnableClientScript = true;
                                 *  //checkboxes.BreakAfter = true;
                                 *  checkboxes.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
                                 *  canvas.Controls.Add(checkboxes);
                                 *
                                 * }
                                 */
                            }
                            catch (Exception ex)
                            {
                                ex.Message.ToString();
                            }
                        }
                    }
                }
            });
        }
Ejemplo n.º 5
0
        private static string getFormat(SPField oField, XmlDocument oDoc, SPWeb oWeb)
        {
            string format = "";

            switch (oField.Type)
            {
            case SPFieldType.DateTime:
                try
                {
                    if (oDoc.FirstChild.Attributes["Format"].Value == "DateOnly")
                    {
                        format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
                    }
                    else
                    {
                        format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern;
                    }
                }
                catch { }
                break;

            case SPFieldType.Number:
                if (oDoc.FirstChild.Attributes["Percentage"] != null && oDoc.FirstChild.Attributes["Percentage"].Value.ToLower() == "true")
                {
                    format = "0\\%;0\\%;0\\%";
                }
                else
                {
                    int    decCount = 0;
                    string decimals = "";
                    try
                    {
                        decCount = int.Parse(oDoc.FirstChild.Attributes["Decimals"].Value);
                    }
                    catch { }

                    for (int i = 0; i < decCount; i++)
                    {
                        decimals += "0";
                    }

                    if (decCount > 0)
                    {
                        decimals = "." + decimals;
                    }

                    format = ",0" + decimals;
                    break;
                }
                break;

            case SPFieldType.Currency:
                SPFieldCurrency c = (SPFieldCurrency)oField;
                System.Globalization.NumberFormatInfo nInfo = System.Globalization.CultureInfo.GetCultureInfo(c.CurrencyLocaleId).NumberFormat;
                if ((0).ToString("c0", nInfo)[0] == '0')
                {
                    format = ",0.00 " + nInfo.CurrencySymbol;
                }
                else
                {
                    format = nInfo.CurrencySymbol + ",0.00";
                }
                break;

            case SPFieldType.Calculated:
                switch (oDoc.FirstChild.Attributes["ResultType"].Value)
                {
                case "Currency":
                    format = oWeb.Locale.NumberFormat.CurrencySymbol + ",0.00";
                    break;

                case "Number":
                    if (oDoc.FirstChild.Attributes["Percentage"] != null && oDoc.FirstChild.Attributes["Percentage"].Value.ToLower() == "true")
                    {
                        format = "0\\%;-##%";
                    }
                    else
                    {
                        int    decCount = 0;
                        string decimals = "";
                        try
                        {
                            decCount = int.Parse(oDoc.FirstChild.Attributes["Decimals"].Value);
                        }
                        catch { }

                        for (int i = 0; i < decCount; i++)
                        {
                            decimals += "0";
                        }

                        if (decCount > 0)
                        {
                            decimals = "." + decimals;
                        }

                        format = ",0" + decimals;
                    }
                    break;
                }
                ;
                break;
            }
            ;

            return(format);
        }
Ejemplo n.º 6
0
        protected override void outputXml()
        {
            tb.AddTimer();

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(Properties.Resources.txtGanttLayout.Replace("#gridid#", base.gridname));

            XmlNode ndHeader = doc.FirstChild.SelectSingleNode("//Header");
            XmlNode ndCols   = doc.FirstChild.SelectSingleNode("//LeftCols");

            //XmlNode ndLeftCols = doc.FirstChild.SelectSingleNode("//LeftCols");

            if (showCheckboxes)
            {
                doc.FirstChild.SelectSingleNode("//Panel").Attributes["Visible"].Value = "1";
            }

            ArrayList arrFields = new ArrayList();

            string sTitleField = "Title";

            foreach (string field in aViewFields)
            {
                try
                {
                    SPField oField = getRealField(list.Fields.GetFieldByInternalName(field));

                    if (oField.InternalName == "Title")
                    {
                        sTitleField = field;
                    }

                    arrFields.Add(oField.InternalName);

                    XmlNode      ndNew = doc.CreateNode(XmlNodeType.Element, "C", doc.NamespaceURI);
                    XmlAttribute attr  = doc.CreateAttribute("Name");
                    attr.Value = oField.InternalName;

                    if (attr.Value == "State")
                    {
                        attr.Value = "FState";
                    }

                    ndNew.Attributes.Append(attr);

                    attr       = doc.CreateAttribute("CaseSensitive");
                    attr.Value = "0";
                    ndNew.Attributes.Append(attr);

                    XmlDocument oDoc = new XmlDocument();
                    oDoc.LoadXml(oField.SchemaXml);

                    string sFormat = getFormat(oField, oDoc, SPContext.Current.Web);
                    string sType   = "Html";

                    string sTitle      = oField.Title;
                    string sTitleAlign = "Left";

                    if (sFormat != "")
                    {
                        attr       = doc.CreateAttribute("Format");
                        attr.Value = sFormat;
                        ndNew.Attributes.Append(attr);

                        if (oField.Type == SPFieldType.Currency)
                        {
                            SPFieldCurrency c = (SPFieldCurrency)oField;
                            System.Globalization.NumberFormatInfo nInfo = System.Globalization.CultureInfo.GetCultureInfo(c.CurrencyLocaleId).NumberFormat;
                            if (sFormat.Contains(nInfo.CurrencySymbol))
                            {
                                attr       = doc.CreateAttribute("EditFormat");
                                attr.Value = sFormat.Replace(nInfo.CurrencySymbol, string.Empty);
                                ndNew.Attributes.Append(attr);
                            }
                        }
                        else
                        {
                            attr       = doc.CreateAttribute("EditFormat");
                            attr.Value = sFormat;
                            ndNew.Attributes.Append(attr);
                        }
                    }

                    if (oField.InternalName == "Edit")
                    {
                        attr       = doc.CreateAttribute("Width");
                        attr.Value = "50";
                        ndNew.Attributes.Append(attr);
                    }
                    else if (oField.InternalName == "Title")
                    {
                        attr       = doc.CreateAttribute("MinWidth");
                        attr.Value = "300";
                        ndNew.Attributes.Append(attr);

                        attr       = doc.CreateAttribute("Button");
                        attr.Value = "Html";
                        ndNew.Attributes.Append(attr);

                        attr       = doc.CreateAttribute("RelWidth");
                        attr.Value = "1";
                        ndNew.Attributes.Append(attr);
                    }
                    else if (oField.InternalName == "WorkspaceUrl")
                    {
                        attr       = doc.CreateAttribute("Width");
                        attr.Value = "60";
                        ndNew.Attributes.Append(attr);

                        attr        = doc.CreateAttribute("Align");
                        attr.Value  = "Center";
                        sTitleAlign = "Center";
                        ndNew.Attributes.Append(attr);

                        attr       = doc.CreateAttribute("WorkspaceUrl");
                        attr.Value = "h";
                        ndHeader.Attributes.Append(attr);

                        sTitle = "";
                    }
                    else
                    {
                        string sWidth = "150";

                        switch (oField.Type)
                        {
                        case SPFieldType.Text:
                            sWidth = "150";
                            break;

                        case SPFieldType.Number:
                            attr        = doc.CreateAttribute("Align");
                            attr.Value  = "Right";
                            sTitleAlign = "Right";
                            ndNew.Attributes.Append(attr);
                            sType = "Float";
                            break;

                        case SPFieldType.Currency:
                            attr        = doc.CreateAttribute("Align");
                            attr.Value  = "Right";
                            sTitleAlign = "Right";
                            ndNew.Attributes.Append(attr);
                            sType = "Float";
                            break;

                        case SPFieldType.DateTime:
                            attr       = doc.CreateAttribute("Align");
                            attr.Value = "Left";
                            ndNew.Attributes.Append(attr);
                            sType = "Date";
                            break;

                        case SPFieldType.Boolean:
                            sType = "Bool";
                            break;

                        case SPFieldType.Calculated:
                            SPFieldCalculated oFC = (SPFieldCalculated)oField;
                            if (oFC.OutputType == SPFieldType.Number || oFC.OutputType == SPFieldType.Currency || oFC.OutputType == SPFieldType.DateTime)
                            {
                                attr        = doc.CreateAttribute("Align");
                                attr.Value  = "Right";
                                sTitleAlign = "Right";
                                ndNew.Attributes.Append(attr);
                                if (oFC.OutputType == SPFieldType.DateTime)
                                {
                                    sType = "Date";
                                }
                                else
                                {
                                    sType = "Float";
                                }
                            }
                            else if (oFC.Description == "Indicator")
                            {
                                attr        = doc.CreateAttribute("Align");
                                attr.Value  = "Center";
                                sTitleAlign = "Center";
                                ndNew.Attributes.Append(attr);
                                sWidth = "80";
                            }
                            break;

                        case SPFieldType.Choice:
                            sType = "Enum";
                            {
                                //Reference: http://longboo.com/demo/ejs-treegrid/Doc/TypeEnum.htm
                                string senum      = "";
                                string senumrange = "";

                                SPFieldChoice oCField = (SPFieldChoice)oField;

                                //Used to prepare dropdown with field choice options
                                foreach (string sChoice in oCField.Choices)
                                {
                                    senum += ";" + sChoice.Replace(";", "");
                                }

                                //Used to prepare count for an item
                                //for (int i = 0; i < oCField.Choices.Count; i++)
                                //    senumrange += ";" + i.ToString();
                                senumrange = senum;
                                attr       = doc.CreateAttribute("Enum");
                                attr.Value = senum;
                                ndNew.Attributes.Append(attr);

                                attr       = doc.CreateAttribute("EnumKeys");
                                attr.Value = senumrange;
                                ndNew.Attributes.Append(attr);
                            }
                            sWidth = "150";
                            break;

                        case SPFieldType.Lookup:
                            sWidth = "150";

                            sType = "Enum";

                            attr       = doc.CreateAttribute("Enum");
                            attr.Value = "";
                            ndNew.Attributes.Append(attr);

                            attr       = doc.CreateAttribute("EnumKeys");
                            attr.Value = "";
                            ndNew.Attributes.Append(attr);

                            if (oField.TypeAsString.Equals("LookupMulti", StringComparison.InvariantCultureIgnoreCase))
                            {
                                attr       = doc.CreateAttribute("Range");
                                attr.Value = "1";
                                ndNew.Attributes.Append(attr);
                            }

                            hshLookupEnums.Add(oField.InternalName, new ArrayList());
                            hshLookupEnumKeys.Add(oField.InternalName, new ArrayList());

                            break;

                        case SPFieldType.MultiChoice:
                        {
                            string senum = "";

                            SPFieldMultiChoice oCField = (SPFieldMultiChoice)oField;
                            foreach (string sChoice in oCField.Choices)
                            {
                                senum += ";" + sChoice.Replace(";", "");
                            }

                            attr       = doc.CreateAttribute("Enum");
                            attr.Value = senum;
                            ndNew.Attributes.Append(attr);

                            attr       = doc.CreateAttribute("Range");
                            attr.Value = "1";
                            ndNew.Attributes.Append(attr);
                        }
                            sType  = "Enum";
                            sWidth = "150";
                            break;

                        case SPFieldType.Note:
                            sWidth = "200";
                            break;

                        case SPFieldType.URL:
                            sWidth = "150";
                            break;

                        case SPFieldType.User:
                            sWidth     = "150";
                            attr       = doc.CreateAttribute("CaseSensitive");
                            attr.Value = "0";
                            ndNew.Attributes.Append(attr);
                            break;

                        default:
                            switch (oField.TypeAsString)
                            {
                            case "TotalRollup":
                                attr        = doc.CreateAttribute("Align");
                                attr.Value  = "Right";
                                sTitleAlign = "Right";
                                ndNew.Attributes.Append(attr);
                                break;
                            }
                            break;
                        }

                        attr       = doc.CreateAttribute("MinWidth");
                        attr.Value = sWidth;
                        ndNew.Attributes.Append(attr);
                    }

                    attr       = doc.CreateAttribute("Wrap");
                    attr.Value = "0";
                    ndNew.Attributes.Append(attr);

                    attr       = doc.CreateAttribute("Type");
                    attr.Value = sType;
                    ndNew.Attributes.Append(attr);

                    ndCols.AppendChild(ndNew);

                    if (oField.InternalName == "Title")
                    {
                        ndCols = doc.FirstChild.SelectSingleNode("//Cols");
                    }

                    string iFieldName = oField.InternalName;
                    if (iFieldName == "State")
                    {
                        iFieldName = "FState";
                    }

                    attr       = doc.CreateAttribute(iFieldName);
                    attr.Value = sTitle;
                    ndHeader.Attributes.Append(attr);

                    attr       = doc.CreateAttribute(oField.InternalName + "Align");
                    attr.Value = sTitleAlign;
                    ndHeader.Attributes.Append(attr);

                    if (arrHidden.Contains(oField.InternalName))
                    {
                        attr       = doc.CreateAttribute("Visible");
                        attr.Value = "0";
                        ndNew.Attributes.Append(attr);
                    }
                }
                catch { }
            }



            XmlNode ndGantt = doc.FirstChild.SelectSingleNode("//RightCols/C[@Name='G']");

            ndGantt.Attributes["GanttStart"].Value    = StartDateField;
            ndGantt.Attributes["GanttEnd"].Value      = DueDateField;
            ndGantt.Attributes["GanttComplete"].Value = ProgressField;
            ndGantt.Attributes["GanttText"].Value     = InfoField;

            if (bShowGantt)
            {
                ndGantt.Attributes["Visible"].Value = "1";
            }

            XmlNodeList ndRows   = docXml.FirstChild.SelectNodes("row");
            XmlNode     ndParent = doc.FirstChild.SelectSingleNode("//B");

            XmlNodeList ndOldCols = docXml.FirstChild.SelectNodes("//head/column");
            XmlNode     ndSummary = doc.FirstChild.SelectSingleNode("//Def/D[@Name='Summary']");

            if (StartDateField != "")
            {
                XmlAttribute attr = doc.CreateAttribute(StartDateField + "Formula");
                attr.Value = "ganttstart()";
                ndSummary.Attributes.Append(attr);
            }

            if (DueDateField != "")
            {
                XmlAttribute attr = doc.CreateAttribute(DueDateField + "Formula");
                attr.Value = "ganttend()";
                ndSummary.Attributes.Append(attr);
            }

            if (ProgressField != "")
            {
                XmlAttribute attr = doc.CreateAttribute(ProgressField + "Formula");
                attr.Value = "ganttpercent()";
                ndSummary.Attributes.Append(attr);
            }
            //PercentCompleteFormula="ganttpercent('StartDate','DueDate','d')"

            foreach (XmlNode ndRow in ndRows)
            {
                ProcessItems(ndParent, ndRow, ndOldCols, doc);
            }

            foreach (XmlNode ndRow in doc.FirstChild.SelectNodes("//I[@Predecessors!='']"))
            {
                processPredecessors(ndRow, doc);
            }


            foreach (DictionaryEntry de in hshLookupEnums)
            {
                XmlNode nd = doc.FirstChild.SelectSingleNode("//C[@Name='" + de.Key.ToString() + "']");
                if (nd != null)
                {
                    nd.Attributes["EnumKeys"].Value = ";" + string.Join(";", (int[])((ArrayList)de.Value).ToArray(Type.GetType("System.Int32")));
                }
            }

            foreach (DictionaryEntry de in hshLookupEnumKeys)
            {
                XmlNode nd = doc.FirstChild.SelectSingleNode("//C[@Name='" + de.Key.ToString() + "']");
                if (nd != null)
                {
                    nd.Attributes["Enum"].Value = ";" + string.Join(";", (string[])((ArrayList)de.Value).ToArray(Type.GetType("System.String")));
                }
            }


            XmlNode ndPag = docXml.SelectSingleNode("//call[@command='setuppaging']");

            XmlNode ndCfg = doc.SelectSingleNode("//Cfg");

            if (ndPag != null)
            {
                XmlAttribute attr = doc.CreateAttribute("PagInfo");
                attr.Value = ndPag.InnerText;
                ndSummary.Attributes.Append(attr);

                ndCfg.Attributes.Append(attr);

                attr       = doc.CreateAttribute("PagSize");
                attr.Value = view.RowLimit.ToString();
                ndSummary.Attributes.Append(attr);

                ndCfg.Attributes.Append(attr);
            }

            XmlAttribute attrT = doc.CreateAttribute("LinkTitleField");

            attrT.Value = sTitleField;
            ndCfg.Attributes.Append(attrT);

            tb.StopTimers();

            if (epmdebug != null && epmdebug == "true")
            {
                XmlNode ndNew = doc.CreateNode(XmlNodeType.Element, "I", doc.NamespaceURI);

                XmlAttribute attr = doc.CreateAttribute("Title");
                attr.Value = tb.GetHtml();
                ndNew.Attributes.Append(attr);

                doc.FirstChild.SelectSingleNode("//B").AppendChild(ndNew);
            }

            if (list.BaseType == SPBaseType.DocumentLibrary)
            {
                XmlAttribute attr = doc.CreateAttribute("NameCol");
                attr.Value = "FileLeafRef";
                ndCfg.Attributes.Append(attr);
                attr       = doc.CreateAttribute("MainCol");
                attr.Value = "FileLeafRef";
                ndCfg.Attributes.Append(attr);
            }
            else
            {
                XmlAttribute attr = doc.CreateAttribute("NameCol");
                attr.Value = "Title";
                ndCfg.Attributes.Append(attr);
                attr       = doc.CreateAttribute("MainCol");
                attr.Value = "Title";
                ndCfg.Attributes.Append(attr);
            }

            data = doc.OuterXml;
        }