[CLOSED] How to update dynamic CheckboxGroup

  1. #1

    [CLOSED] How to update dynamic CheckboxGroup

    I have to show user an checkboxgroup filled with data from the database.
    This checkboxgroup is dynamically created from the source-code below:

    foreach (var a in listaTiposDocumentos)
                {
                    Ext.Net.CheckboxGroup checkBoxGroupTiposDocumentos = new Ext.Net.CheckboxGroup();
    
                    string[] ColumnsWidths = { "200", "200" };
                    checkBoxGroupTiposDocumentos.ColumnsWidths = ColumnsWidths;
                    checkBoxGroupTiposDocumentos.BackColor.R.ToString();
    
                    foreach (var b in listaPrivilegios)
                    {
                        Ext.Net.Checkbox checkBoxPrivilegios = new Ext.Net.Checkbox();
    
                        checkBoxPrivilegios.ID = "Privilegio" + a.id + "" + b.id + "";
                        checkBoxPrivilegios.BoxLabel = b.nome;
                        checkBoxPrivilegios.Checked = false;
    
                        checkBoxGroupTiposDocumentos.Items.Add(checkBoxPrivilegios);
                        checkBoxGroupTiposDocumentos.FieldLabel = a.nome;
    
                        Ext.Net.Anchor anchorTiposDocumentos = new Ext.Net.Anchor();
                        anchorTiposDocumentos.Horizontal = "100%";
                        anchorTiposDocumentos.Items.Add(checkBoxGroupTiposDocumentos);
                        FormLayoutTiposDocumentos.Anchors.Add(anchorTiposDocumentos);
                    }
                }
    To check the checkboxes i wrote the source like this:

    foreach (var tipoDocumento in listaTiposDocumentos)
                {
                    Ext.Net.CheckboxGroup checkBoxGroupTiposDocumentos = new Ext.Net.CheckboxGroup();                
                    string[] ColumnsWidths = { "200", "200" };
                    checkBoxGroupTiposDocumentos.ColumnsWidths = ColumnsWidths;
    
                    // Obtem o id GrupoUsuarioTipoDocumento para obter os privilégios do grupo sobre o documento.
                    int idGrupoUsuarioTipoDocumento = 0;
                    if (grupo.grupousuario_tipodocumento.Where(a => a.id_tipodocumento == tipoDocumento.id && a.id_grupousuario == idGrupoUsuario).Count() > 0) 
                    {
                        idGrupoUsuarioTipoDocumento = grupo.grupousuario_tipodocumento
                                                        .Where(a => a.id_tipodocumento == tipoDocumento.id && a.id_grupousuario == idGrupoUsuario)
                                                        .Select(b => b.id).First();
                    }
    
                    // Para cada privilégio.
                    foreach (var privilegio in listaPrivilegios) 
                    {
                        Ext.Net.Checkbox checkBoxPrivilegios = new Ext.Net.Checkbox();
                        checkBoxPrivilegios.ID = "Privilegio" + tipoDocumento.id + "" + privilegio.id +"";
                        checkBoxPrivilegios.BoxLabel = privilegio.nome;
    
                        // Se o usuário possuir acesso ao tipo de documento.
                        if (idGrupoUsuarioTipoDocumento > 0) 
                        {
                            // Obtem os privilégios do grupo sobre sobre o tipo de documento.
                            if (grupo.grupousuario_tipodocumento.Where(a => a.grupousuario_tipodocumento_privilegio
                                                               .Where(b => b.id_privilegio == privilegio.id && b.id_grupousuario_tipodocumento == idGrupoUsuarioTipoDocumento).Count() > 0).Count() > 0)
                            {
                                checkBoxPrivilegios.Checked = true;
                            }
                            // Para os privilégios não concedidos o checkbox por padrão é false.
                        }                    
                        // Montar o componente no formlayout.
                        checkBoxGroupTiposDocumentos.Items.Add(checkBoxPrivilegios);
                        checkBoxGroupTiposDocumentos.FieldLabel = tipoDocumento.nome;
                        Ext.Net.Anchor anchorTiposDocumentos = new Anchor();
                        anchorTiposDocumentos.Horizontal = "100%";
                        anchorTiposDocumentos.Items.Add(checkBoxGroupTiposDocumentos);
                        FormLayoutTiposDocumentos.Anchors.Add(anchorTiposDocumentos);
                    }
                }
    But, unfortunately its not shown to the user.
    I must update an profile with this component, how can I do it?

    Thanks,
    Marcelo de O. Cardozo
    Last edited by Daniil; Jul 11, 2011 at 9:18 AM. Reason: [CLOSED]
  2. #2
    Hi,

    Are you trying to update the CheckboxGroup during DirectEvent? If so, you need to re-render that CheckboxGroup.

Similar Threads

  1. Replies: 7
    Last Post: Feb 13, 2012, 2:25 PM
  2. Replies: 2
    Last Post: Sep 22, 2011, 10:17 PM
  3. Replies: 3
    Last Post: Jul 08, 2010, 8:48 PM
  4. Replies: 0
    Last Post: Jun 18, 2010, 6:34 AM
  5. CheckboxGroup dynamic items error
    By Argons in forum 1.x Help
    Replies: 3
    Last Post: Jul 30, 2009, 1:14 PM

Tags for this Thread

Posting Permissions