PDA

View Full Version : [3.0 SOLVED] how to set a checked flag in a menu?



axelaxel
11 Nov 2009, 11:35 PM
hi guys i have a menu created with an array (as checkable menu voices) and i would like to know how to check a menu voice with the flag

i try to use this command


Ext.getCmp("preview-toolbar-menugruppi-id").menu.items.items[3].checked = true;
but in this way only the value of the check is set to true, no flag set.





this is my code



for(j = 0; j < gruppi.length; j++)
{
//gruppo settato di default
if(gruppi[j].GR_Admin == 1)
{
sDefaultGroup += (gruppi[j].GR_Gruppo + '<br/>');
bCheckedGroup = true;

aSelectedGroupsForPreview[gruppi[j].GR_IDGruppo] = gruppi[j].GR_Gruppo;
}
else
bCheckedGroup = false;



menuGruppi.push({
text: gruppi[j].GR_Gruppo,
value: gruppi[j].GR_IDGruppo,
hideOnClick: false,
checked: bCheckedGroup,
checkHandler: function(item, checked){
nIdGruppo = item.value;
sNomeGruppo = item.text;
sListaGruppiBr = '';
sListaGruppi = '';

//settaggio parametro globale
if(checked)
aSelectedGroupsForPreview[nIdGruppo] = sNomeGruppo;
else
aSelectedGroupsForPreview = removeKey(aSelectedGroupsForPreview, nIdGruppo);

//cambiamento tooltip di riepilogo
for(idGruppo in aSelectedGroupsForPreview)
{
sListaGruppiBr += (aSelectedGroupsForPreview[idGruppo] + '<br/>');
sListaGruppi += (aSelectedGroupsForPreview[idGruppo] + ',');
}
sListaGruppi = truncateTo(sListaGruppi.substring(0, sListaGruppi.length - 1), 50);

Ext.getCmp('riepilogo-groups').setTooltip({title: i18n.msg('lblSummaryGroups'), text: sListaGruppiBr});
Ext.getCmp('riepilogo-groups').setText(i18n.msg('lblSummaryGroupsBase') + " " + sListaGruppi);


//CONTROLLO ASSENZA SELEZIONE GRUPPO
//scorrimento tra i gruppi per assegnare eventualmente al gruppo GENERICO il check se nessun valore checkato
nCheckedGruppi = 0;
hMenuAnalisi = Ext.getCmp('preview-toolbar-menugruppi-id').menu.items.items;
for(g = 0; g < hMenuAnalisi.length; g++)
{
if(hMenuAnalisi[g].checked)
nCheckedGruppi++;

if(hMenuAnalisi[g].value == nIdGruppoGenerico)
hGruppoGenerico = hMenuAnalisi[g];
}

if(nCheckedGruppi <= 0)
{
hGruppoGenerico.checked = true;
aSelectedGroupsForPreview[hGruppoGenerico.value] = hGruppoGenerico.text;
Ext.getCmp('riepilogo-groups').setTooltip({title: i18n.msg('lblSummaryGroups'), text: hGruppoGenerico.text + '<br/>'});
Ext.getCmp('riepilogo-groups').setText(i18n.msg('lblSummaryGroupsBase') + " " + hGruppoGenerico.text);
}
}
});
}





//aggiunta voce gruppi
previewToolbar.add({
id:'preview-toolbar-menugruppi-id',
text: i18n.msg('lblSearchGroups'),
iconCls: 'groupsPr',
menu: menuGruppi
});

thank you




axel

axelaxel
12 Nov 2009, 12:01 AM
right thing to do, very easy...




Ext.getCmp("preview-toolbar-menugruppi-id").menu.items.items[3].setChecked(true);