Ejemplo n.º 1
0
 protected void rptMenuLvl1_ItemDataBound(object sender, RepeaterItemEventArgs e)
 {
     if ((e.Item.ItemType == ListItemType.Item ? true : e.Item.ItemType == ListItemType.AlternatingItem))
     {
         BAVMenuOpcion dataItem = e.Item.DataItem as BAVMenuOpcion;
         object        obj      = e.Item.DataItem;
         if (dataItem.Opciones.Count <= 0)
         {
             string str = "?";
             if (dataItem.Pagina.Contains("?"))
             {
                 str = "&";
             }
             Literal literal = e.Item.FindControl("liItem") as Literal;
             if (string.IsNullOrEmpty(dataItem.Pagina))
             {
                 literal.Text = string.Concat("<li><a href='javascript:void(0);'>", dataItem.Nombre, "</a></li>");
             }
             else
             {
                 literal.Text = string.Concat(new object[] { "<li><a href='", dataItem.Pagina, str, "sCod=", dataItem.Codigo, "' onclick='goPage(this, event);'>", dataItem.Nombre, "</a></li>" });
             }
         }
         else
         {
             Control  control  = e.Item.FindControl("liChilds");
             Repeater opciones = e.Item.FindControl("rptMenuLvl2") as Repeater;
             opciones.DataSource = dataItem.Opciones;
             opciones.DataBind();
             control.Visible = true;
         }
     }
 }
Ejemplo n.º 2
0
        private static List <BAVMenuOpcion> recursivo(DataTable dt, string codigo)
        {
            List <BAVMenuOpcion> bAVMenuOpcions = new List <BAVMenuOpcion>();

            DataRow[] dataRowArray = dt.Select(string.Concat("MD_Cod_Padre=", codigo), "MD_Pos_Mostrar");
            for (int i = 0; i < (int)dataRowArray.Length; i++)
            {
                BAVMenuOpcion        newOpcion = BAVMenuOpcion.getNewOpcion(dataRowArray[i]);
                List <BAVMenuOpcion> opciones  = newOpcion.Opciones;
                int num = newOpcion.Codigo;
                opciones.AddRange(HelperMenu.recursivo(dt, num.ToString()));
                bAVMenuOpcions.Add(newOpcion);
            }
            return(bAVMenuOpcions);
        }
Ejemplo n.º 3
0
        public static List <BAVMenuOpcion> getMenuTest()
        {
            List <BAVMenuOpcion> bAVMenuOpcions = new List <BAVMenuOpcion>();
            DataSet dataSet = new DataSet();

            try
            {
                dataSet = HelperMenu.ws.MenuDinamicoNatural();
                if (dataSet.Tables.Count != 0)
                {
                    DataTable item = dataSet.Tables[0];
                    if (item.Rows.Count != 0)
                    {
                        if ((item.TableName == "SqlException" ? true : item.TableName == "Exception"))
                        {
                            throw new IBException(item.Rows[0]["NumeroError"].ToString().Trim(), "SQLIB");
                        }
                        DataRow[] dataRowArray  = dataSet.Tables[0].Select("MD_Cod_Padre = 0", "MD_Pos_Mostrar");
                        DataRow[] dataRowArray1 = dataRowArray;
                        for (int i = 0; i < (int)dataRowArray1.Length; i++)
                        {
                            BAVMenuOpcion        newOpcion = BAVMenuOpcion.getNewOpcion(dataRowArray1[i]);
                            List <BAVMenuOpcion> opciones  = newOpcion.Opciones;
                            DataTable            dataTable = dataSet.Tables[0];
                            int codigo = newOpcion.Codigo;
                            opciones.AddRange(HelperMenu.recursivo(dataTable, codigo.ToString()));
                            bAVMenuOpcions.Add(newOpcion);
                        }
                        dataSet = null;
                    }
                }
            }
            catch (WebException webException)
            {
                throw new IBException(webException.Message, "SQLIB");
            }
            return(bAVMenuOpcions);
        }