Пример #1
0
		/// <summary>
		/// Writes the children to the items property.
		/// </summary>
		/// <param name="jw">The jw.</param>
        protected override void WriteItems(DextopJsWriter jw)
        {
            if (Items.Count > 0)
            {
                jw.WritePropertyName("items");
                jw.Write("[");
                bool first = true;
                if (PrependItems != null)
                    foreach (var item in PrependItems)
                    {
                        if (first)
                            first = false;
                        else
                            jw.Write(", ");
                        jw.Write("dict['{0}']", item);
                    }
                for (var i = 0; i < Items.Count; i++)
                {
                    if (first)
                        first = false;
                    else
                        jw.Write(", ");
                    if (Items[i].ItemName != null)
                        jw.Write("dict['{0}']", Items[i].ItemName);
                    else
                        jw.WriteObject(Items[i]);
                }
                if (AppendItems != null)
                    foreach (var item in AppendItems)
                    {
                        if (first)
                            first = false;
                        else
                            jw.Write(", ");
                        jw.Write("dict['{0}']", item);
                    }
                jw.Write("]");
            }
        }
Пример #2
0
		/// <summary>
		/// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
		/// </summary>
		/// <param name="jw">The writer.</param>
        protected override void WriteProperties(DextopJsWriter jw)
        {
			if (id != dataIndex)
				jw.DefaultProperty("id", id);
            jw.AddLocalizationProperty("text", text, id + "Text");
            jw.AddLocalizationProperty("tooltip", tooltip, id + "TooltipText");
            jw.DefaultProperty("flex", flex);
            jw.DefaultProperty("width", width);
			jw.DefaultProperty("renderer", renderer);
            jw.DefaultProperty("format", format);
            jw.DefaultProperty("tpl", tpl);
            jw.DefaultProperty("align", align);
            jw.DefaultProperty("hidden", hidden);
            jw.DefaultProperty("sortable", sortable);

            if (_columns == null || _columns.Count == 0)
            {
                jw.AddProperty("dataIndex", dataIndex);
                jw.AddProperty("type", type);                
                jw.DefaultProperty("required", required);
                jw.DefaultProperty("tooltipTpl", tooltipTpl);
                jw.DefaultProperty("readonly", readOnly);
                jw.DefaultProperty("menuDisabled", menuDisabled);
                jw.DefaultProperty("filterable", filterable);
                jw.DefaultProperty("locked", locked);
                jw.DefaultProperty("hasHeaderFilter", hasHeaderFilter);
            }
            else
            {
                jw.WritePropertyName("columns");
                jw.Write("[");
                for (var i = 0; i < _columns.Count; i++)
                {
                    if (i > 0)
                        jw.Write(", ");
                    if ((jw.Options & DextopJsWriterOptions.ItemFactory) != 0)
                        jw.Write("dict[\"{0}\"]", _columns[i].id);
                    else
                        jw.WriteObject(_columns[i]);
                }
                jw.Write("]");
            }
            base.WriteProperties(jw);
        }