示例#1
0
        // Methods
        public ViewPropertyFieldTemplate(FeatureProperty p)
        {
            Label lbl;
            this.c = new List<Control>();
            if (p.PropertyType == 1)
            {
            CheckBox cb = new CheckBox {
                ID = p.Name,
                Checked = bool.Parse(p.Value.ToString()),
                Enabled = false
            };

            this.c.Add(cb);
             lbl = new Label {
                Text = cb.Checked ? "(כן)" : "(לא)",
                ID = string.Format("lbl_{0}", p.Name)
            };

            this.c.Add(lbl);
            }
            else
            {
            lbl = new Label();
            if (p.DisplayedValue != null)
            {
                if ((p.LookUpValues != null) && (p.LookUpValues.Count > 0))
                {
                    IEnumerable<KeyValuePair<int, string>> vals = from x in p.LookUpValues
                        where x.Key == Convert.ToInt32(p.Value)
                        select x;
                    foreach (Label lblTxt in from v in vals select new Label { Text = v.Value, ID = p.Name + "_txt" })
                    {
                        lbl.Visible = false;
                        this.c.Add(lblTxt);
                        break;
                    }
                }
                lbl.Text = p.DisplayedValue;
            }
            lbl.ID = p.Name;
            this.c.Add(lbl);
            }
        }
        public EditPropertyFieldTemplate(FeatureProperty p, string sdfFile)
        {
            this.c = new List<Control>();
            if (p.IsReadOnly)
            {
                Label  lbl = new Label {
                    Text = (p.Value != null) ? p.Value.ToString() : string.Empty,
                    ID = p.Name
                };

                this.c.Add(lbl);
            }
            else
            {
                DropDownList ddl;
                LiteralControl lnkEditConstraint;
                if (p.AviableValues != null)
                {
                    ddl = new DropDownList {
                        ID = p.Name
                    };

                    foreach (string t in from x in p.AviableValues
                        orderby x
                        select x)
                    {
                        ddl.Items.Add(new ListItem(t));
                    }
                    ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByText(p.Value.ToString()));
                    ddl.Style["width"] = "150px";
                    this.c.Add(ddl);
                    if (!string.IsNullOrEmpty(sdfFile))
                    {
                       lnkEditConstraint = new LiteralControl {
                            Text = string.Format("<span onclick='ShowSdfEditorDialog(\"{0}\", \"_FeatureCard_{0}\")' style='cursor: pointer;'><img src='{1}' alt='+' width='16' height='16'></span>", HttpUtility.UrlEncode(p.Name), VirtualPathUtility.ToAbsolute("~/Images/Edit.png"))
                        };

                        ddl.Style["width"] = "115px";
                        this.c.Add(lnkEditConstraint);
                    }
                }
                else if ((p.LookUpValues != null) && (p.LookUpValues.Count != 0))
                {
                  ddl = new DropDownList {
                        ID = p.Name
                    };

                    foreach (KeyValuePair<int, string> item in from x in p.LookUpValues
                        where x.Key != -1
                        select x)
                    {
                        ddl.Items.Add(new ListItem(item.Value, item.Key.ToString()));
                    }
                    ddl.SelectedIndex = (p.Value == null) ? 0 : ddl.Items.IndexOf(ddl.Items.FindByValue(p.Value.ToString()));
                    ddl.Style["width"] = "150px";
                    this.c.Add(ddl);
                    if (!string.IsNullOrEmpty(sdfFile))
                    {
                       lnkEditConstraint = new LiteralControl {
                            Text = string.Format("<span onclick='ShowSdfEditorDialog(\"{0}\", \"_FeatureCard_{0}\")' style='cursor: pointer;'><img src='{1}' alt='+' width='16' height='16'></span></span>", HttpUtility.UrlEncode(p.Name), VirtualPathUtility.ToAbsolute("~/Images/Edit.png"))
                        };

                        ddl.Style["width"] = "115px";
                        this.c.Add(lnkEditConstraint);
                    }
                }
                else
                {
                    TextBox tb;
                    switch (p.PropertyType)
                    {
                        case 1:
                        {
                            CheckBox cb = new CheckBox {
                                ID = p.Name
                            };

                            if (p.Value == null)
                            {
                                p.Value = "False";
                            }
                            cb.Checked = bool.Parse(p.Value.ToString());
                            this.c.Add(cb);
                            return;
                        }
                        case 3:
                        {
                             tb = new TextBox {
                                ID = p.Name,
                                ToolTip = "dd/MM/yyyy"
                            };

                            if (p.Value != null)
                            {
                                tb.Text = p.DisplayedValue;
                            }
                            tb.Style.Add("direction", "ltr");
                            tb.Style.Add("margin-left", "2px");
                            tb.Style.Add("text-align", "right");
                            tb.Style.Add("max-width", "95px");
                            this.c.Add(tb);
                            if ((p.Alias == "תאריך עדכון") || (p.Alias == "עדכון אחרון"))
                            {
                                tb.Enabled = false;
                            }
                            else
                            {
                                tb.CssClass = "dateField";
                                ImageButton btnPicker = new ImageButton
                                {
                                    ID = string.Format("{0}_btnPicker", p.Name),
                                    ImageUrl = "~/Images/calendar.jpg",
                                    ImageAlign = ImageAlign.Middle,
                                    Height = new Unit("16px")
                                };

                                this.c.Add(btnPicker);
                                CalendarExtender ext = new CalendarExtender {
                                    PopupButtonID = btnPicker.ID,
                                    TargetControlID = tb.ID,
                                    Format = "dd/MM/yyyy",
                                    CssClass = "cal_Theme1",
                                    ID = string.Format("{0}_ext", p.Name),
                                    Enabled = true
                                };

                                this.c.Add(ext);
                                MaskedEditExtender meExt = new MaskedEditExtender {
                                    Mask = "99/99/9999",
                                    InputDirection = MaskedEditInputDirection.RightToLeft,
                                    TargetControlID = tb.ID,
                                    MaskType = MaskedEditType.Date,
                                    ID = string.Format("{0}_MaskEditExt", p.Name)
                                };

                                this.c.Add(meExt);
                            }
                            return;
                        }
                    }
                     tb = new TextBox {
                        ID = p.Name
                    };

                    tb.Style.Add(HtmlTextWriterStyle.Width, "100%");
                    tb.Text = (p.Value != null) ? p.Value.ToString() : string.Empty;
                    this.c.Add(tb);
                }
            }
        }
 public EditPropertyFieldTemplate(FeatureProperty p)
     : this(p, string.Empty)
 {
 }