João, nunca usei essa treeview, porém já tive que fazer uma gambiarra parecida com isso que vc quer fazer.
No meu caso, eu tinha dois combobox com multiseleção. Um listando todas as opções e o outro listando as opções selecionadas.
O Fluig não armazena dados de combobox com multiseleção, então o que fiz foi trabalhar com hiddens. Tudo que estava nos combos também estava nos hiddens, separado por vírgula. Aí toda vez que o formulário é aberto, eu carrego o conteúdo dos combos.
Você pode ir pelo mesmo caminho
Edit: Segue códigos abaixo:
Abaixo meus dois combobox, cada um com um hidden para ele:
<div class="row form-group">
<div class="col-xs-4">
<label for="gruposTrabalhoDisponiveis">Selecione Grupo de Trabalho</label>
<select name="gruposTrabalhoDisponiveis" id="gruposTrabalhoDisponiveis" multiple="true" class="form-control">
</select>
<input type="hidden" name="hideGruposTrabCodDisponiveis" id="hideGruposTrabCodDisponiveis">
<input type="hidden" name="hideGruposTrabDescDisponiveis" id="hideGruposTrabDescDisponiveis">
</div>
<div class="col-xs-1 text-center">
<span> </span><br />
<span> </span><br />
<span class="fluigicon fluigicon-chevron-right fs-cursor-pointer" onclick="Caso.eventos.inserirGrupo()"></span><br />
<span> </span><br />
<span class="fluigicon fluigicon-chevron-left fs-cursor-pointer" onclick="Caso.eventos.retirarGrupo()"></span>
</div>
<div class="col-xs-4">
<label for="gruposSelecionados">Grupo de Trabalho</label>
<select name="gruposSelecionados" id="gruposSelecionados" class="form-control" multiple="true">
</select>
<input type="hidden" name="hideGruposCodSelecionados" id="hideGruposCodSelecionados">
<input type="hidden" name="hideGruposDescSelecionados" id="hideGruposDescSelecionados">
</div>
</div>
Toda vez que eu seleciono um grupo e passo da esquerda para a direita, armazeno em um hidden:
armazenaGrupoHide: function(){
$('#hideGruposTrabCodDisponiveis').val('');
$('#hideGruposTrabDescDisponiveis').val('');
$('#gruposTrabalhoDisponiveis').find('option').each(function(){
if($('#hideGruposTrabCodDisponiveis').val() == ""){
$('#hideGruposTrabCodDisponiveis').val($(this).val());
$('#hideGruposTrabDescDisponiveis').val($(this).text());
}
else{
$('#hideGruposTrabCodDisponiveis').val($('#hideGruposTrabCodDisponiveis').val() + '|' + $(this).val());
$('#hideGruposTrabDescDisponiveis').val($('#hideGruposTrabDescDisponiveis').val() + '|' + $(this).text());
}
});
$('#hideGruposCodSelecionados').val('');
$('#hideGruposTrabDescDisponiveis').val('');
$('#gruposSelecionados').find('option').each(function(){
if($('#hideGruposCodSelecionados').val() == ""){
$('#hideGruposCodSelecionados').val($(this).val());
$('#hideGruposTrabDescDisponiveis').val($(this).text());
}
else{
$('#hideGruposCodSelecionados').val($('#hideGruposCodSelecionados').val() + '|' + $(this).val());
$('#hideGruposTrabDescDisponiveis').val($('#hideGruposTrabDescDisponiveis').val() + '|' + $(this).text());
}
});
}
E toda vez que o formulário é aberto eu recarrego o conteúdo dos combobox:
exibeGrupoHide: function(){
var scMatDisponiveis = $('input[name="hideGruposTrabCodDisponiveis"]').val();
var listaSCMatDisponiveis = scMatDisponiveis.split('|');
var scNomeDisponiveis = $('input[name="hideGruposTrabDescDisponiveis"]').val();
var listaSCNomeDisponiveis = scNomeDisponiveis.split('|');
$('select[name$="gruposTrabalhoDisponiveis"]').find('option').remove();
for(var i = 0; i < listaSCMatDisponiveis.length; i++){
$('select[name$="gruposTrabalhoDisponiveis"]').append(new Option(listaSCMatDisponiveis[i], listaSCNomeDisponiveis[i]));
}
$('select[name$="gruposTrabalhoDisponiveis"]').attr('disabled', true);
var scMatSelecionados = $('input[name="hideGruposCodSelecionados"]').val();
var listaSCMatSelecionados = scMatSelecionados.split('|');
var scNomeSelecionados = $('input[name="hideGruposTrabDescDisponiveis"]').val();
var listaSCNomeSelecionados = scNomeSelecionados.split('|');
$('select[name$="gruposSelecionados"]').find('option').remove();
for(var i = 0; i < listaSCMatSelecionados.length; i++){
$('select[name$="gruposSelecionados"]').append(new Option(listaSCMatSelecionados[i], listaSCNomeSelecionados[i]));
}
$('select[name$="gruposSelecionados"]').attr('disabled', true);
}