Ejemplo n.º 1
0
        public object CreateLabelWidget(Sandwych.Layout.Models.Label label)
        {
            var labelControl = new Label()
            {
                Content = label.Text
            };

            return(labelControl);
        }
Ejemplo n.º 2
0
        private object CreateQueryForm(Dictionary <string, object>[] fields, IEnumerable <XElement> viewFields, string where)
        {
            //生成基本查询条件表单
            var columnsPerRow = 6;// (int)Math.Round(this.Width / 150.00) * 2;

            if (columnsPerRow % 2 != 0)
            {
                columnsPerRow--;
            }
            var basicQueryForm = new Sandwych.Layout.Models.Form()
            {
                ColumnCount = columnsPerRow,
            };

            var basicFields = viewFields.Where(ele =>
            {
                var attr = ele.Attribute("where");
                return(attr != null && attr.Value == where);
            });

            var basicQueryFormChildren = new List <Sandwych.Layout.Models.Placable>();
            var factory = new QueryFieldControlFactory(fields);
            var createdFieldControls = new Dictionary <string, IQueryField>();

            foreach (var fieldLayout in basicFields)
            {
                var fieldName = fieldLayout.Attribute("name").Value;
                var metaField = fields.Single(i => (string)i["name"] == fieldName);
                var label     = new Sandwych.Layout.Models.Label()
                {
                    Text = (string)metaField["label"],
                };
                basicQueryFormChildren.Add(label);

                var field = new Sandwych.Layout.Models.Input()
                {
                    Field = (string)metaField["name"],
                };
                basicQueryFormChildren.Add(field);
            }
            basicQueryForm.ChildElements = basicQueryFormChildren.ToArray();

            var layoutEngine   = new Sandwych.Layout.LayoutEngine(factory);
            var basicQueryGrid = layoutEngine.BuildLayout(basicQueryForm);

            foreach (var p in factory.CreatedQueryFields)
            {
                this.createdQueryFields.Add(p.Key, p.Value);
            }

            return(basicQueryGrid);
        }
Ejemplo n.º 3
0
        public Object CreateLabelWidget(Sandwych.Layout.Models.Label label)
        {
            var labelWidget = new FieldLabel(label.Field, label.Text);

            if (!String.IsNullOrEmpty(label.Field))
            {
                var metaField = this.metaFields.Where(i => (string)i["name"] == label.Field).Single();
                labelWidget.Text = metaField["label"] as string;
            }
            this.createdLabels.Add(labelWidget);

            return(labelWidget);
        }