Пример #1
0
 // Преобразовать строку в тип
 private void SetRules(string rules, typeRules type)
 {
     if (rules == null)
     {
         return;
     }
     this._ListRules.Clear();
     string[] array_type = rules.Split(',');
     foreach (string st in array_type)
     {
         string[] array_section = st.Split(':');
         if (array_section[0] == type.ToString())
         {
             string[] array_param = array_section[1].Split(';');
             foreach (string param in array_param)
             {
                 string[] array_value = param.Split('-');
                 if (array_value[0].ToString() != "")
                 {
                     int id     = int.Parse(array_value[0].ToString());
                     int access = int.Parse(array_value[1].ToString());
                     this._ListRules.Add(new RulesDetali(id, (Access)access, GetName(id)));
                 }
             }
         }
     }
 }
Пример #2
0
    /// <summary>
    /// Вывести панель PlaceHolder с элементами указанного типа
    /// </summary>
    /// <param name="type"></param>
    protected void OutPlaceHolder(typeRules type)
    {
        if (this.FindControl("ph" + type.ToString()) == null)
        {
            return;
        }
        PlaceHolder ph = (PlaceHolder)this.FindControl("ph" + type.ToString());

        if (ph == null)
        {
            return;
        }
        RulesCollection rcol = RulesCollection(type);

        ph.Controls.Clear();
        ph.Controls.Add(new LiteralControl("<table class='tabRules'>"));
        ph.Controls.Add(new LiteralControl("<tr><td class='nametype' colspan ='2'>"));
        ph.Controls.Add(new LiteralControl(type.ToString() + ": "));
        DropDownList ddlObject = new DropDownList();
        List <IObj>  li        = rcol.GetNotObject();

        if (li != null)
        {
            li.Insert(0, new ListSection(0, base.GetStringBaseResource("ddlSelect")));
            ddlObject.Enabled = true;
            ddlObject.ID      = "ddl" + type.ToString();
            ddlObject.Items.Clear();
            ddlObject.DataTextField  = "NameObject";
            ddlObject.DataValueField = "IDObject";
            ddlObject.DataSource     = li;
            //ddlObject.SelectedIndex = -1;
            ddlObject.AutoPostBack          = true;
            ddlObject.SelectedIndexChanged += ddlObject_SelectedIndexChanged;
            ddlObject.DataBind();
        }
        else
        {
            ddlObject.Enabled = false;
        }
        ph.Controls.Add(ddlObject);
        ph.Controls.Add(new LiteralControl("</td></tr>"));
        foreach (RulesDetali rd in RulesCollection(type))
        {
            ph.Controls.Add(new LiteralControl("<tr><td class='object'>"));
            ph.Controls.Add(new LiteralControl(rd.nameObject + ":"));
            ph.Controls.Add(new LiteralControl("</td><td class='access'>"));
            DropDownList ddlAccess = new DropDownList();

            ddlAccess.Items.Clear();
            foreach (Access tr in Enum.GetValues(typeof(Access)))
            {
                ddlAccess.Items.Add(new ListItem(tr.ToString(), ((int)tr).ToString()));
            }
            ddlAccess.Items.Add(new ListItem("Clear", "4"));
            ddlAccess.ID                    = type.ToString() + "_" + rd.IDObject.ToString();
            ddlAccess.AutoPostBack          = true;
            ddlAccess.SelectedIndexChanged += ddlAccess_SelectedIndexChanged;
            ddlAccess.SelectedValue         = ((int)rd.Access).ToString();
            ddlAccess.DataBind();
            ph.Controls.Add(ddlAccess);
        }
        ph.Controls.Add(new LiteralControl("</table>"));
    }