Jun 27, 2011, 7:45 PM
[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:
I must update an profile with this component, how can I do it?
Thanks,
Marcelo de O. Cardozo
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]