ASP.NET - Controles creados dinamicamente

 
Vista:
sin imagen de perfil

Controles creados dinamicamente

Publicado por daniel (1 intervención) el 29/12/2014 07:11:52
Hola alguien que me pueda ayudar en esto
img1: se cargan los registros de mi tabla "MAS USADOS"(azul grande)
img2: se cargan los registros de mi tabla "GRUPOS"(verde grande)
problema: se supone que al dar click en el boton verde grupos, este cargara todos los grupos existentes y estos a su vez cargaran sub grupos
los grupos impresoras, monitores, cpus
sub-grupo Monitores: lg led 17'', samsung lcd 15' , benq CRT20''
llego a cargar los grupos pero no los subgrupos ya que esto se crean dinamicamente y no entran en el evento click que les he creado
de antemando gracias.

Imagen3
Imagen4

creo los grupos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
protected void BTNGrupos_Click(object sender, EventArgs e) {
  PNLBtns.Controls.Clear();
  try {
       DataSet DSMenu = CLSPedidoInsert.ListarCat();
       DataTable DT = DSMenu.Tables[0];
       if (DT.Rows.Count > 0) {
          //CREA UN BOTON POR CADA REGISTRO ENCONTRADO
          foreach (DataRow row in DT.Rows) {
               CreaBTN("BTNSGrupo", row["nombre"].ToString(), "0", "0", Convert.ToInt32(row["categoria_id"]));
           }
       } else {
           //CREA UN BOTON CON TEXT NO EXIXTE
           CreaBTN("BTNSGrupo", "NO EXISTEN REGISTROS", "0", "0", 0);
       }
    } catch (Exception ex) {
        messageBox.ShowMessage("Se detectaron errores: CargaCategorias" + ex.ToString());
   }
}

- proceso para crear el boton
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private void CreaBTN(string CTRLName, string CTRText, string tipo, string esp, int id)
        {
            Button BTN = new Button();
 
            if (id >= 0)
            {
                switch (CTRLName)
                {
                    #region BOTON GRUPO
                    case "BTNGrupo":
                        BTN.CssClass = "btn btn-info BTNMenu";
                        break;
                    #endregion
                    #region BOTON PRODUCTO
                    case "BTNSGrupo":
                        BTN.CssClass = "btn btn-success BTNMenu";
                        break;
                    #endregion
                }
            }
            else
            {
                BTN.CssClass = "btn btn-danger BTNMenu";
            }
 
            BTN.ID = CTRLName + id;
            BTN.Click += new EventHandler(this.BTNMENUP_Click);
            BTN.Text = BTN.Text + CTRText;
            PNLBtns.Controls.Add(BTN);
        }

evento clic para lo botones creados
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected void BTNMENUP_Click(object sender, EventArgs e)
        {
            Button BTN = (Button)sender;
            string nomb = CLSStrings.Left(BTN.CommandName, 7);
            int id = Convert.ToInt32(BTN.CommandName.Replace(nomb, ""));
 
            switch (nomb){
                case "BTNMasUsado":
                    InsertaPedido(id);
                    break;
                case "BTNGrupo":
                    CargarSubGrupos(id);
                    break;
                case "BTNProd":
                    InsertaPedido(id);
                    break;
            }
 
            //messageBox.ShowMessage("GOOD");
        }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder