Pergunta

No meu portal (Sharepoint Server 2010 Enterprise) tenho uma lista simples apenas com o campo de título.Criei cerca de 50 entradas na lista.

Em outra lista, tenho uma coluna de pesquisa extraída da primeira lista e quero poder editar essa lista na visualização GANTT.

Tem um post parecido aqui, mas a solução aceita foi não permitir múltiplas escolhas na coluna de destino.O usuário tem permissão para selecionar vários valores na lista suspensa.

Meu problema é que os itens desse menu suspenso parecem estar organizados na ordem em que foram criados na lista original.Isso faz com que muito difícil encontrar o que você deseja selecionar!

Como posso forçar essa lista suspensa em ordem alfabética?

[editar]

Ah, descobri que o problema só acontece na visualização GANTT.Funciona bem na visualização de folha de dados.

[atualizar]

Agora, encontrei esta página, com algumas ideias, e soluções alternativas, mas não soluções.Talvez isso desse a alguém alguma ideia?O sujeito tinha o mesmo problema e estava lutando muito.

Esse colega sugere usar jQuery, mas não fornece uma solução adaptada ao Sharepoint.Aqui está outra solução jQuery, mas não consigo fazê-lo funcionar em uma visualização GANTT.

Existe uma maneira de forçá-lo à ordem alfabética editando a página aspx da visualização no Sharepoint Designer, talvez?

Foi útil?

Solução

Não sei se isso pode ser considerado uma resposta e não apenas um comentário.Não tenho reputação suficiente para postar um comentário, mas posso postar uma 'resposta'.:D

Infelizmente, você não pode usar o SP Designer para personalizar uma visualização de Gantt no SP2010.

Quanto ao javascript, investiguei um pouco sobre isso criando uma visualização de Gantt com uma pesquisa e, em seguida, copiei a marcação que o SP gera quando cria o menu suspenso do campo de pesquisa.Para o menu suspenso, SP gera uma tabela com 3 colunas:um para a caixa de seleção, um vazio e outro para o texto de exibição.Consegui classificar a marcação da tabela para o menu suspenso (Veja aqui).

No entanto, a forma como o menu suspenso Visualização de Gantt aparece para determinar o item selecionado é baseada na ordem dos itens no menu.Portanto, classificar isso atrapalha o funcionamento do menu suspenso.Observe que isso se baseia na minha observação do controle por meio da ferramenta Inspect do FireFox, pois não verifiquei os (muitos) javascripts do SP para (ou que parecem estar relacionados a) uma visualização de Gantt.

Além disso, o menu suspenso é adicionado após o carregamento da visualização de Gantt - ele parece ser inserido quando você clica na célula e depois de clicar no botão suspenso.IMHO, não vale a pena classificar via javascript.

Enfim, se você quiser saber o script que adicionei (em um CEWP) para ordenar, aqui está.Mas, como eu disse, isso atrapalha a seleção de itens suspensos.Tive que vincular ao id da grade (que pode ser diferente para sua visualização).Não testei isso em listas com múltiplas pesquisas.

<script type="text/javascript">
if (window.addEventListener) {
    window.addEventListener('load', bindsort, false); 
} 
else if (window.attachEvent) { 
    window.attachEvent('onload', bindsort); 
}

function bindsort() {
    jQuery('#ctl00_m_g_ccd336a1_7da5_4212_a646_6a499e53404f_ListViewWebPartJSGrid').on(
        'click', '#jsgrid_combobox',
        function () { sortlkupddm(); });
}

// Sort the dropdown menu for the lookup field.
function sortlkupddm(){
    setTimeout( function () {
        var rows = jQuery('#jsgrid_combobox table.combobox-panel-table>tbody>tr.cb-dp-rw').detach();

        // Sort assuming text content.
        rows.sort(function (row1, row2) {
            var v1 = jQuery(row1).find('span.jsgrid-control-text').text();
            var v2 = jQuery(row2).find('span.jsgrid-control-text').text();
            if (v1 < v2) return -1;
            else return 1;
        });
        jQuery(rows).each(function(){
            jQuery('table.combobox-panel-table>tbody:last').append(jQuery(this));
        });
    }, 200);
}
</script>

Outras dicas

Se você ainda não tiver nada que esteja vinculado a essa lista como uma pesquisa, você pode fazer esse interruptor manual.No entanto, esteja ciente, que qualquer coisa que você já tivesse ligado a essa lista será alterada se você excluir seus dados e reimportar com os valores classificados.

Você corre o risco de fazer mais mal do que bom dessa maneira.

Você é melhor encontrar uma solução que permitirá crescimento da lista de pesquisa.

Eu fui capaz de fazer isso com sucesso manualmente.A maneira mais fácil é mudar para a exibição da folha de dados, copie o conteúdo para o Excel.Em seguida, classifique sua lista.Exclua as linhas na lista original e cole o conteúdo classificado de volta do Excel. Como seus novos itens de lista são adicionados na pasta, o ID do item é atribuído na ordem colada.Viola!Sua lista suspensa é alfabética.

sp2010 & office2010

Editar: Repercussions !! - A coluna de pesquisa que usou esta lista perdeu todos os dados.Eu tive que voltar e restaurar os itens da lista.Então, tenha cuidado com as colunas de pesquisa.

You can only make this whith a list definition, unfortunately you can not make it with the UI. You have to Add your orderby in the View having BaseViewId 0. That worked for me

Na sua lista de origem, tente alterar a exibição padrão para classificar por título em vez de ID e veja se isso afeta sua coluna de pesquisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top