Pergunta

Estou usando o Suite de Controle do Telerik ASP.NET (2008 Q3, acredito, não posso atualizar ainda). Eu tenho um Radcombobox em um controle RadGrid (no modelo de edição de um gridtemplatecolumn). Se as funções ok, mas eu tenho uma validação do lado do cliente em outros controles na grade (que parecem estar funcionando sem erros). Por algum motivo, após a validação do lado do cliente, a caixa de combinação para de funcionar. Sem erros de JS visíveis, a coisa simplesmente morre.

Alguém viu isso e tem conserto? O Google falhou comigo.

Obrigado pela ajuda.

Foi útil?

Solução

Ok, eu resolvi. Muito cludgy de trabalho por aí.

Primeiro, tenho um painel fora do MultiviewPanel que segura minha grade com outro Radcombobox semelhante que também morreu por validação. Comecei a pensar, e se eu fizesse algum tipo de postagem, isso consertaria as coisas por algum motivo? Então, na minha grade, adicionei um validador personalizado que valida o Radcombobox na minha grade. Ele chama um método de validação de JavaScript como So ...

function valCOMBO(o, a) {
        a.IsValid = true;
        setTimeout(Res, 500);
      }
      function Res() { __doPostBack("<%=OPCOCombo.UniqueID %>");}

Observe que, como esse campo não precisa ser preenchido pelo usuário, eu sempre o retorno é válido é verdadeiro. Aqui é onde a magia quase acontece. Faço uma postagem no outro Radcombobox no painel superior fora da grade do JavaScript. A parte superior fora da grade Radcombobox tem seu automobilismo definido como true, não sei se isso é necessário se você tentar este exemplo.

Funcionou. De repente, os dois Radcomboboxes, tanto na grade quanto na que acima, começou a funcionar novamente. Mas notei que o valor seria perdido no Radcombobox da grade às vezes; portanto, para risadas, adicionei a pequena pausa antes de fazer a postagem de 500 ms. Isso fez o truque. Na verdade, funcionaria com uma pausa muito pequena, mas eu aumentei para 500 ms para uma margem de segurança, caso um usuário final estivesse em uma conexão lenta e isso poderia importar.

Gluggy, Cluggy, Cluggy. Eu gostaria de poder ter usado o JQuery e uma alternativa a esses Tellerik Radcomboboxes, mas essa é a vida (ouço uma versão limitada do jQuery ser enterrada em Telerik, experimentará isso em lançamentos posteriores). O que é péssimo é que aposto que o último lançamento do Telerik corrige esse problema (é melhor), então tudo isso cutucando acabará sendo desnecessário quando atualizarmos (ainda não pode, algum conflito com alguns dos controles personalizados que construímos herdando de Telek.

Espero que isso possa ajudar alguém.

Outras dicas

Outra opção. Eu encontrei um cenário em que tive que usar muitos Radcomboboxes, então, em vez de me preocupar em validar seu conteúdo, acabei de adicionar campos de texto com um botão ao lado de cada um que abriria uma RadWindow com um Radcombobox para que os valores pudessem ser escolhidos dinamicamente. Em selecionar JavaScript, passou o valor selecionado de volta para o elemento de destino na página Abridor de janelas. Eu encontrei algumas dores de cabeça que tive que trabalhar, embora tenham vários parâmetros de contexto definidos em JavaScript antes de ligar para o serviço da web em cada chave (dica: com o IE define a altura do Radcombobox pelo menos para 2008 Telerik Versions ... se você não vai começar a ter congelamentos).

Novamente, espero que essa ideia seja útil.

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