
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.


creo los grupos
- proceso para crear el boton
evento clic para lo botones creados
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.


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


0