Exemplo n.º 1
0
		private void magix_forms_set_values(object sender, ActiveEventArgs e)
		{
            Node ip = Ip(e.Params);
			if (ShouldInspect(ip))
			{
                AppendInspectFromResource(
                    ip["inspect"],
                    "Magix.forms",
                    "Magix.forms.hyperlisp.inspect.hl",
                    "[magix.forms.set-values-dox].value");
                AppendCodeFromResource(
                    ip,
                    "Magix.forms",
                    "Magix.forms.hyperlisp.inspect.hl",
                    "[magix.forms.set-values-sample]");
                return;
			}

            Select lst = FindControl<Select>(e.Params);
			lst.Items.Clear();
            if (ip.Contains("values"))
			{
                foreach (Node idx in ip["values"])
				{
					ListItem it = new ListItem(idx.Get<string>(), idx.Name);
                    if (!idx.GetValue("enabled", true))
                        it.Enabled = false;
					lst.Items.Add(it);
				}
			}
			lst.ReRender();
		}
 protected override void FillOutParameters(Node pars, BaseControl ctrl)
 {
     base.FillOutParameters(pars, ctrl);
     BaseWebControlListFormElement ret = ctrl as BaseWebControlListFormElement;
     Node ip = Ip(pars);
     Node node = ip["_code"].Get<Node>();
     if (node.Contains("items"))
     {
         foreach (Node idxItemNode in node["items"])
         {
             if (idxItemNode.Name == null)
                 throw new ArgumentException("list item for select needs unique name of node to be used as value");
             if (idxItemNode.Value == null)
                 throw new ArgumentException("list item for select needs value of node to be used as text to show user in item");
             ListItem item = new ListItem(idxItemNode.Get<string>(), idxItemNode.Name);
             if (!idxItemNode.GetValue("enabled", true))
                 item.Enabled = false;
             ret.Items.Add(item);
         }
     }
 }